Driver core: Don't remove kobjects in device_shutdown.
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 4 Nov 2009 10:50:28 +0000 (02:50 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Dec 2009 19:24:52 +0000 (11:24 -0800)
device_shutdown is defined to just shutdown the hardware and to not
clean up any kernel data structures.  Therefore don't put the kobjects
for /sys/dev and /sys/dev/block and /sys/dev/char.

This ensures we don't remove /sys/dev/block and /sys/dev/char while
we still have symlinks from there to the actual devices.

Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/core.c

index 0d3c29d7221512fcbf6715b15f8c29be5cf9cc95..353b137821654dfd5109442412715b2f7edc0d2a 100644 (file)
@@ -1730,8 +1730,5 @@ void device_shutdown(void)
                        dev->driver->shutdown(dev);
                }
        }
-       kobject_put(sysfs_dev_char_kobj);
-       kobject_put(sysfs_dev_block_kobj);
-       kobject_put(dev_kobj);
        async_synchronize_full();
 }