]> git.itanic.dy.fi Git - linux-stable/commitdiff
driver core: bus: Goto appropriate labels on failure in bus_add_device
authorJunjie Mao <junjie_mao@yeah.net>
Wed, 28 Jan 2015 02:02:44 +0000 (10:02 +0800)
committerJiri Slaby <jslaby@suse.cz>
Fri, 15 May 2015 07:10:41 +0000 (09:10 +0200)
commit 1c34203a1496d1849ba978021b878b3447d433c8 upstream.

It is not necessary to call device_remove_groups() when device_add_groups()
fails.

The group added by device_add_groups() should be removed if sysfs_create_link()
fails.

Fixes: fa6fdb33b486 ("driver core: bus_type: add dev_groups")
Signed-off-by: Junjie Mao <junjie_mao@yeah.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/base/bus.c

index aed92e41f29139372c96b3ef64f71c80c202314b..f95dead9a8c2afdad46d9734e4a90f497e260ed6 100644 (file)
@@ -504,11 +504,11 @@ int bus_add_device(struct device *dev)
                        goto out_put;
                error = device_add_groups(dev, bus->dev_groups);
                if (error)
-                       goto out_groups;
+                       goto out_id;
                error = sysfs_create_link(&bus->p->devices_kset->kobj,
                                                &dev->kobj, dev_name(dev));
                if (error)
-                       goto out_id;
+                       goto out_groups;
                error = sysfs_create_link(&dev->kobj,
                                &dev->bus->p->subsys.kobj, "subsystem");
                if (error)