This is caused by 876dcb relies on dev->driver to tell if __device_release_driver() was completed by other callers while calling remove(). But drivers like mei_wdt will set dev->driver to NULL after its remove() completes, thus it would do return instead of continuing __device_release_driver().
This is caused by 876dcb relies on dev->driver to tell if __device_ release_ driver( ) was completed by other callers while calling remove(). But drivers like mei_wdt will set dev->driver to NULL after its remove() completes, thus it would do return instead of continuing __device_ release_ driver( ).