driver core: restore event order for device_add()
PATCH 1/1 driver core: restore event order for device_add()
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]>
---
drivers/base/core.c +2 -2
@@ -248,6 +248,7 @@ int device_add(struct device *dev)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)))
@@ -260,14 +261,13 @@ int device_add(struct device *dev)/* 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)