summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/power.c
diff options
context:
space:
mode:
authorLan Tianyu <tianyu.lan@intel.com>2013-10-15 07:48:11 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-15 18:26:42 -0400
commitd7d49012b917647794b6df33f4e7a61a2c818ccf (patch)
treee4462bfb43a179b578320b7b931d342fbc272bfc /drivers/acpi/power.c
parent35f9162d67c3e20a82b4bd6ec538f3e9c14fb055 (diff)
ACPI / power: Release resource_lock after acpi_power_get_state() return error
In acpi_resume_power_resources() resource_lock should be released when acpi_power_get_state() fails and before passing to next power resource on the list. Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/power.c')
-rw-r--r--drivers/acpi/power.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index 0dbe5cdf3396..0c1c3ec784fb 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -936,8 +936,10 @@ void acpi_resume_power_resources(void)
936 mutex_lock(&resource->resource_lock); 936 mutex_lock(&resource->resource_lock);
937 937
938 result = acpi_power_get_state(resource->device.handle, &state); 938 result = acpi_power_get_state(resource->device.handle, &state);
939 if (result) 939 if (result) {
940 mutex_unlock(&resource->resource_lock);
940 continue; 941 continue;
942 }
941 943
942 if (state == ACPI_POWER_RESOURCE_STATE_OFF 944 if (state == ACPI_POWER_RESOURCE_STATE_OFF
943 && resource->ref_count) { 945 && resource->ref_count) {