aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2007-06-17 05:01:18 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-07-11 19:09:01 -0400
commit1f5681aae8feadd113644c9e077152416c12b75c (patch)
treed813eeece4c101ce53b2bcb53078fbbe87fa4583
parentf8916c11a4dc4cb2367e9bee1788f4e0f1b4eabc (diff)
driver core: properly get driver in device_release_driver
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/base/dd.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index b0088b0efecd..3c503e1f69a2 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -296,9 +296,8 @@ static void __device_release_driver(struct device * dev)
296{ 296{
297 struct device_driver * drv; 297 struct device_driver * drv;
298 298
299 drv = dev->driver; 299 drv = get_driver(dev->driver);
300 if (drv) { 300 if (drv) {
301 get_driver(drv);
302 driver_sysfs_remove(dev); 301 driver_sysfs_remove(dev);
303 sysfs_remove_link(&dev->kobj, "driver"); 302 sysfs_remove_link(&dev->kobj, "driver");
304 klist_remove(&dev->knode_driver); 303 klist_remove(&dev->knode_driver);