summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <greg@kroah.com>2002-09-16 00:16:16 -0700
committerGreg Kroah-Hartman <greg@kroah.com>2002-09-16 00:16:16 -0700
commit7c3ccad2a8cf7724ebd90ef9c0faab665d765dc9 (patch)
tree4dad67ec0e92d11e09bedd3d7de69fab0d32872c /drivers/base
parentc257aa42f74d69d760ef234c7d416ab2270bc582 (diff)
Driver Model: fix oops when device is removed from system
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index e9f7079058d4..977c4b9fe92a 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -103,12 +103,13 @@ static void device_detach(struct device * dev)
devclass_remove_device(dev);
spin_lock(&device_lock);
drv = dev->driver;
- dev->driver = NULL;
spin_unlock(&device_lock);
/* detach from driver */
if (drv && drv->remove)
drv->remove(dev);
+
+ dev->driver = NULL;
}
}