2005-03-25 06:17:51

by Patrick Mochel

[permalink] [raw]
Subject: [8/12] More Driver Model Locking Changes


[email protected], 2005-03-24 18:58:45-08:00, [email protected]
[driver core] Call klist_del() instead of klist_remove().

- Can't wait on removing the current item in the list (the positive refcount *because*
we are using it causes it to deadlock).


Signed-off-by: Patrick Mochel <[email protected]>

diff -Nru a/drivers/base/dd.c b/drivers/base/dd.c
--- a/drivers/base/dd.c 2005-03-24 20:33:09 -08:00
+++ b/drivers/base/dd.c 2005-03-24 20:33:09 -08:00
@@ -184,7 +184,7 @@

sysfs_remove_link(&drv->kobj, kobject_name(&dev->kobj));
sysfs_remove_link(&dev->kobj, "driver");
- klist_remove(&dev->knode_driver);
+ klist_del(&dev->knode_driver);

down(&dev->sem);
device_detach_shutdown(dev);