driver core: handles kobject_uevent failure while device_add
PATCH 1/1 driver core: handles kobject_uevent failure while device_add
Signed-off-by Monakhov Dmitriy <[email protected]>
--- drivers/base/core.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
drivers/base/core.c +8 -2
@@ -630,8 +630,11 @@ int device_add(struct device *dev) goto PMError;if ((error =bus_add_device (dev))) goto BusError; -if (!dev->uevent_suppress) -kobject_uevent (&dev->kobj,KOBJ_ADD ); +if (!dev->uevent_suppress) { + error =kobject_uevent (&dev->kobj,KOBJ_ADD ); +if (error) + goto UeventError; + }bus_attach_device (dev);if (parent)klist_add_tail (&dev->knode_parent, &parent->klist_children);
@@ -651,6 +654,9 @@ int device_add(struct device *dev)kfree (class_name);put_device (dev);return error; + + UeventError: +bus_remove_device (dev); BusError:device_pm_remove (dev); PMError:
Signature · 1 line
1.5.0.1