From: Dmitry Torokhov Move call to kobject_hotplug() above code that adds interfaces to a class device, otherwise children's hotplug events may reach userspace first. Signed-off-by: Dmitry Torokhov Signed-off-by: Andrew Morton --- drivers/base/class.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/base/class.c~driver-core-send-hotplug-event-before-adding-class-interfaces drivers/base/class.c --- devel/drivers/base/class.c~driver-core-send-hotplug-event-before-adding-class-interfaces 2005-09-15 20:54:32.000000000 -0700 +++ devel-akpm/drivers/base/class.c 2005-09-15 20:54:32.000000000 -0700 @@ -562,6 +562,8 @@ int class_device_add(struct class_device class_name); } + kobject_hotplug(&class_dev->kobj, KOBJ_ADD); + /* notify any interfaces this device is now here */ if (parent) { down(&parent->sem); @@ -571,7 +573,6 @@ int class_device_add(struct class_device class_intf->add(class_dev, class_intf); up(&parent->sem); } - kobject_hotplug(&class_dev->kobj, KOBJ_ADD); register_done: if (error && parent) _