瀏覽代碼

ACPI: Fix bogus GPE test in acpi_bus_set_run_wake_flags()

When we check if a GPE can be used for runtime signaling, we only
search the FADT GPE blocks, which is incorrect, becuase the GPE
may be located elsewhere.  We really should be using the GPE device
information previously returned by _PRW here, so make that happen.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
Rafael J. Wysocki 15 年之前
父節點
當前提交
e8e18c9561
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      drivers/acpi/scan.c

+ 3 - 2
drivers/acpi/scan.c

@@ -764,8 +764,9 @@ static void acpi_bus_set_run_wake_flags(struct acpi_device *device)
 		return;
 		return;
 	}
 	}
 
 
-	status = acpi_get_gpe_status(NULL, device->wakeup.gpe_number,
-					&event_status);
+	status = acpi_get_gpe_status(device->wakeup.gpe_device,
+					device->wakeup.gpe_number,
+						&event_status);
 	if (status == AE_OK)
 	if (status == AE_OK)
 		device->wakeup.flags.run_wake =
 		device->wakeup.flags.run_wake =
 				!!(event_status & ACPI_EVENT_FLAG_HANDLE);
 				!!(event_status & ACPI_EVENT_FLAG_HANDLE);