From: Alan Stern Date: Fri, 31 Mar 2006 16:52:25 +0000 (-0500) Subject: [PATCH] driver core: safely unbind drivers for devices not on a bus X-Git-Tag: v2.6.17-rc2~33^2~5 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f836ca4c122f4ef096110d652a6326fe34e6961;p=linux-2.6 [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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 730a9ce0a1..889c711112 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -209,7 +209,7 @@ static void __device_release_driver(struct device * dev) 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);