diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c index 792a8309d074a178303eb4c3d467c68a382c760b..4c9c2fb5d98f9a14a67e8618b44dc6f2c642887b 100644 --- a/drivers/acpi/power.c +++ b/drivers/acpi/power.c @@ -213,11 +213,13 @@ static int acpi_power_on(acpi_handle handle) resource->name)); } else { result = __acpi_power_on(resource); + if (result) + resource->ref_count--; } mutex_unlock(&resource->resource_lock); - return 0; + return result; } static int acpi_power_off_device(acpi_handle handle)