driver core: restore event order for device_add()
PATCH 1/1 driver core: restore event order for device_add()
Linus, please apply this to your 2.6.12-rc4 git tree, the SCSI, HAL, and udev people need to restore the original order of hotplug events (as 2.6.11 and before kernels provide) until they work out the details of how to do this better.
----------
From: Kay Sievers <[email protected]>
As a result of the split of the kobject-registration and the corresponding hotplug event, the order of events for device_add() has changed. This restores the old order, cause it confused some userspace applications.
Signed-off-by Kay Sievers <[email protected]>
Signed-off-by Greg Kroah-Hartman <[email protected]>
--- drivers/base/core.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/base/core.c +2 -2
@@ -245,6 +245,7 @@if ((error =kobject_add (&dev->kobj))) goto Error; +kobject_hotplug (&dev->kobj,KOBJ_ADD );if ((error =device_pm_add (dev))) goto PMError;if ((error =bus_add_device (dev)))
@@ -257,14 +258,13 @@/* notify platform of device entry */ if (platform_notify)platform_notify (dev); - -kobject_hotplug (&dev->kobj,KOBJ_ADD ); Done:put_device (dev);return error; BusError:device_pm_remove (dev); PMError: +kobject_hotplug (&dev->kobj,KOBJ_REMOVE );kobject_del (&dev->kobj); Error:if (parent)