diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-31 12:10:28 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-31 12:10:28 -0800 |
commit | 80d534567378ce62ba8e2c51a3b6621e5b8b5605 (patch) | |
tree | 805322f31f88df173918bec787285835c33d1ccf /driver | |
parent | 7446377126dc0e69c4d60dd3edf557efdd150337 (diff) | |
download | patches-80d534567378ce62ba8e2c51a3b6621e5b8b5605.tar.gz |
more patches
Diffstat (limited to 'driver')
-rw-r--r-- | driver/driver-core-safely-unbind-drivers-for-devices-not-on-a-bus.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/driver/driver-core-safely-unbind-drivers-for-devices-not-on-a-bus.patch b/driver/driver-core-safely-unbind-drivers-for-devices-not-on-a-bus.patch new file mode 100644 index 0000000000000..ecf169c8dd357 --- /dev/null +++ b/driver/driver-core-safely-unbind-drivers-for-devices-not-on-a-bus.patch @@ -0,0 +1,30 @@ +From stern@rowland.harvard.edu Fri Mar 31 08:52:32 2006 +Date: Fri, 31 Mar 2006 11:52:25 -0500 (EST) +From: Alan Stern <stern@rowland.harvard.edu> +To: Greg KH <greg@kroah.com> +Subject: driver core: safely unbind drivers for devices not on a bus +Message-ID: <Pine.LNX.4.44L0.0603311146430.5091-100000@iolanthe.rowland.org> + +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> + +--- + drivers/base/dd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- gregkh-2.6.orig/drivers/base/dd.c ++++ gregkh-2.6/drivers/base/dd.c +@@ -209,7 +209,7 @@ static void __device_release_driver(stru + 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); |