[PATCH] driver core: safely unbind drivers for devices not on a bus This patch (as667) changes the __device_release_driver() routine to prevent it from crashing when it runs across a device not on any bus. This seems logical, inasmuch as the corresponding bus_add_device() routine has an explicit check allowing it to accept such devices. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 730a9ce..889c711 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c
@@ -209,7 +209,7 @@ sysfs_remove_link(&dev->kobj, "driver"); klist_remove(&dev->knode_driver); - if (dev->bus->remove) + if (dev->bus && dev->bus->remove) dev->bus->remove(dev); else if (drv->remove) drv->remove(dev);