From: Jan Kiszka <
jan.k...@siemens.com>
It is sufficient to probe the ACPI tables once, not for every PCI device
found.
Signed-off-by: Jan Kiszka <
jan.k...@siemens.com>
---
drivers/watchdog/wdat.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/watchdog/wdat.c b/drivers/watchdog/wdat.c
index e01bef4..7ba0ab1 100644
--- a/drivers/watchdog/wdat.c
+++ b/drivers/watchdog/wdat.c
@@ -135,6 +135,8 @@ typedef struct {
#pragma pack()
+static BOOLEAN probed_before;
+
/* --------------------------------------------------------------------------
* Parsing of ACPI/WDAT structures for efibootguard
* --------------------------------------------------------------------------
@@ -426,6 +428,11 @@ init(EFI_PCI_IO __attribute__((unused)) *pci_io,
UINT32 boot_status;
UINTN n;
+ /* We do not use PCI, and machines may have many PCI devices */
+ if (probed_before)
+ return EFI_UNSUPPORTED;
+ probed_before = TRUE;
+
/* Locate WDAT in ACPI tables */
status = locate_and_parse_rsdp(&wdat_table);
if (EFI_ERROR(status)) {
--
2.35.3