Driver core: Don't remove kobjects in device_shutdown.
Eric W. Biederman [Wed, 4 Nov 2009 10:50:28 +0000 (02:50 -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 0d3c29d..353b137 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();
 }