ACPI: ec: Acquire Global Lock under EC mutex.

Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
Alexey Starikovskiy 2006-12-07 18:42:17 +03:00 committed by Len Brown
parent 50c1e1138c
commit 523953b41e

View File

@ -286,12 +286,12 @@ static int acpi_ec_transaction(struct acpi_ec *ec, u8 command,
if (rdata) if (rdata)
memset(rdata, 0, rdata_len); memset(rdata, 0, rdata_len);
mutex_lock(&ec->lock);
if (ec->global_lock) { if (ec->global_lock) {
status = acpi_acquire_global_lock(ACPI_EC_UDELAY_GLK, &glk); status = acpi_acquire_global_lock(ACPI_EC_UDELAY_GLK, &glk);
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
return -ENODEV; return -ENODEV;
} }
mutex_lock(&ec->lock);
/* Make sure GPE is enabled before doing transaction */ /* Make sure GPE is enabled before doing transaction */
acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR); acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR);
@ -307,10 +307,10 @@ static int acpi_ec_transaction(struct acpi_ec *ec, u8 command,
rdata, rdata_len); rdata, rdata_len);
end: end:
mutex_unlock(&ec->lock);
if (ec->global_lock) if (ec->global_lock)
acpi_release_global_lock(glk); acpi_release_global_lock(glk);
mutex_unlock(&ec->lock);
return status; return status;
} }