diff options
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r-- | drivers/base/core.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index 24198ad01976..79848e6c5db5 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c | |||
@@ -820,7 +820,11 @@ int device_add(struct device *dev) | |||
820 | error = dpm_sysfs_add(dev); | 820 | error = dpm_sysfs_add(dev); |
821 | if (error) | 821 | if (error) |
822 | goto PMError; | 822 | goto PMError; |
823 | device_pm_add(dev); | 823 | error = device_pm_add(dev); |
824 | if (error) { | ||
825 | dpm_sysfs_remove(dev); | ||
826 | goto PMError; | ||
827 | } | ||
824 | error = bus_add_device(dev); | 828 | error = bus_add_device(dev); |
825 | if (error) | 829 | if (error) |
826 | goto BusError; | 830 | goto BusError; |