[PATCH] driver core: restore event order for device_add()

From: Greg KH
Date: Mon May 23 2005 - 18:12:17 EST


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 <kay.sievers@xxxxxxxx>
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 <kay.sievers@xxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
drivers/base/core.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

--- gregkh-2.6.orig/drivers/base/core.c 2005-05-23 14:59:20.000000000 -0700
+++ gregkh-2.6/drivers/base/core.c 2005-05-23 14:59:23.000000000 -0700
@@ -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)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/