|
@@ -283,6 +283,7 @@ probe_failed:
|
|
|
devres_release_all(dev);
|
|
|
driver_sysfs_remove(dev);
|
|
|
dev->driver = NULL;
|
|
|
+ dev_set_drvdata(dev, NULL);
|
|
|
|
|
|
if (ret == -EPROBE_DEFER) {
|
|
|
/* Driver requested deferred probing */
|
|
@@ -487,6 +488,7 @@ static void __device_release_driver(struct device *dev)
|
|
|
drv->remove(dev);
|
|
|
devres_release_all(dev);
|
|
|
dev->driver = NULL;
|
|
|
+ dev_set_drvdata(dev, NULL);
|
|
|
klist_remove(&dev->p->knode_driver);
|
|
|
if (dev->bus)
|
|
|
blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
|