diff options
Diffstat (limited to 'drivers/base/power/main.c')
-rw-r--r-- | drivers/base/power/main.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index c3d2dfcf438d..1172aeaf7ecf 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c | |||
@@ -1033,22 +1033,16 @@ static int device_prepare(struct device *dev, pm_message_t state) | |||
1033 | if (dev->pm_domain->ops.prepare) | 1033 | if (dev->pm_domain->ops.prepare) |
1034 | error = dev->pm_domain->ops.prepare(dev); | 1034 | error = dev->pm_domain->ops.prepare(dev); |
1035 | suspend_report_result(dev->pm_domain->ops.prepare, error); | 1035 | suspend_report_result(dev->pm_domain->ops.prepare, error); |
1036 | if (error) | ||
1037 | goto End; | ||
1038 | } else if (dev->type && dev->type->pm) { | 1036 | } else if (dev->type && dev->type->pm) { |
1039 | pm_dev_dbg(dev, state, "preparing type "); | 1037 | pm_dev_dbg(dev, state, "preparing type "); |
1040 | if (dev->type->pm->prepare) | 1038 | if (dev->type->pm->prepare) |
1041 | error = dev->type->pm->prepare(dev); | 1039 | error = dev->type->pm->prepare(dev); |
1042 | suspend_report_result(dev->type->pm->prepare, error); | 1040 | suspend_report_result(dev->type->pm->prepare, error); |
1043 | if (error) | ||
1044 | goto End; | ||
1045 | } else if (dev->class && dev->class->pm) { | 1041 | } else if (dev->class && dev->class->pm) { |
1046 | pm_dev_dbg(dev, state, "preparing class "); | 1042 | pm_dev_dbg(dev, state, "preparing class "); |
1047 | if (dev->class->pm->prepare) | 1043 | if (dev->class->pm->prepare) |
1048 | error = dev->class->pm->prepare(dev); | 1044 | error = dev->class->pm->prepare(dev); |
1049 | suspend_report_result(dev->class->pm->prepare, error); | 1045 | suspend_report_result(dev->class->pm->prepare, error); |
1050 | if (error) | ||
1051 | goto End; | ||
1052 | } else if (dev->bus && dev->bus->pm) { | 1046 | } else if (dev->bus && dev->bus->pm) { |
1053 | pm_dev_dbg(dev, state, "preparing "); | 1047 | pm_dev_dbg(dev, state, "preparing "); |
1054 | if (dev->bus->pm->prepare) | 1048 | if (dev->bus->pm->prepare) |
@@ -1056,7 +1050,6 @@ static int device_prepare(struct device *dev, pm_message_t state) | |||
1056 | suspend_report_result(dev->bus->pm->prepare, error); | 1050 | suspend_report_result(dev->bus->pm->prepare, error); |
1057 | } | 1051 | } |
1058 | 1052 | ||
1059 | End: | ||
1060 | device_unlock(dev); | 1053 | device_unlock(dev); |
1061 | 1054 | ||
1062 | return error; | 1055 | return error; |