aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/dd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/dd.c')
-rw-r--r--drivers/base/dd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 742cbe6b042b..f0106875f01d 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -226,7 +226,7 @@ static int __device_attach(struct device_driver *drv, void *data)
226 * pair is found, break out and return. 226 * pair is found, break out and return.
227 * 227 *
228 * Returns 1 if the device was bound to a driver; 228 * Returns 1 if the device was bound to a driver;
229 * 0 if no matching device was found; 229 * 0 if no matching driver was found;
230 * -ENODEV if the device is not registered. 230 * -ENODEV if the device is not registered.
231 * 231 *
232 * When called for a USB interface, @dev->parent->sem must be held. 232 * When called for a USB interface, @dev->parent->sem must be held.
@@ -320,6 +320,10 @@ static void __device_release_driver(struct device *dev)
320 devres_release_all(dev); 320 devres_release_all(dev);
321 dev->driver = NULL; 321 dev->driver = NULL;
322 klist_remove(&dev->p->knode_driver); 322 klist_remove(&dev->p->knode_driver);
323 if (dev->bus)
324 blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
325 BUS_NOTIFY_UNBOUND_DRIVER,
326 dev);
323 } 327 }
324} 328}
325 329