From: Cornelia Huck <[EMAIL PROTECTED]>

As pointed out by Alan Stern, device_move needs to use klist_remove which waits
until removal is complete.

Signed-off-by: Cornelia Huck <[EMAIL PROTECTED]>
Cc: Alan Stern <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/base/core.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index e4eaf46..e4b530e 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1022,7 +1022,7 @@ int device_move(struct device *dev, stru
        old_parent = dev->parent;
        dev->parent = new_parent;
        if (old_parent)
-               klist_del(&dev->knode_parent);
+               klist_remove(&dev->knode_parent);
        klist_add_tail(&dev->knode_parent, &new_parent->klist_children);
        if (!dev->class)
                goto out_put;
@@ -1031,7 +1031,7 @@ int device_move(struct device *dev, stru
                /* We ignore errors on cleanup since we're hosed anyway... */
                device_move_class_links(dev, new_parent, old_parent);
                if (!kobject_move(&dev->kobj, &old_parent->kobj)) {
-                       klist_del(&dev->knode_parent);
+                       klist_remove(&dev->knode_parent);
                        if (old_parent)
                                klist_add_tail(&dev->knode_parent,
                                               &old_parent->klist_children);
-- 
1.4.4.1

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to