ACPI: ec: Acquire Global Lock under EC mutex.
Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
50c1e1138c
commit
523953b41e
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user