瀏覽代碼

ACPI: ec: Acquire Global Lock under EC mutex.

Signed-off-by: Len Brown <len.brown@intel.com>
Alexey Starikovskiy 18 年之前
父節點
當前提交
523953b41e
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/acpi/ec.c

+ 2 - 2
drivers/acpi/ec.c

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