diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-06-17 05:01:18 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-11 19:09:01 -0400 |
commit | 1f5681aae8feadd113644c9e077152416c12b75c (patch) | |
tree | d813eeece4c101ce53b2bcb53078fbbe87fa4583 /drivers/base/dd.c | |
parent | f8916c11a4dc4cb2367e9bee1788f4e0f1b4eabc (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>
Diffstat (limited to 'drivers/base/dd.c')
-rw-r--r-- | drivers/base/dd.c | 3 |
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); |