From ea08eeccae9297f7aabd2ef7f0c2517ac4549acc Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 20 Feb 2024 01:18:26 +0000
Subject: [PATCH] write in 30M
---
 kernel/drivers/firmware/efi/esrt.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/kernel/drivers/firmware/efi/esrt.c b/kernel/drivers/firmware/efi/esrt.c
index 2f6204b..d591527 100644
--- a/kernel/drivers/firmware/efi/esrt.c
+++ b/kernel/drivers/firmware/efi/esrt.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * esrt.c
  *
@@ -239,11 +240,13 @@
 {
 	void *va;
 	struct efi_system_resource_table tmpesrt;
-	struct efi_system_resource_entry_v1 *v1_entries;
 	size_t size, max, entry_size, entries_size;
 	efi_memory_desc_t md;
 	int rc;
 	phys_addr_t end;
+
+	if (!efi_enabled(EFI_MEMMAP))
+		return;
 
 	pr_debug("esrt-init: loading.\n");
 	if (!esrt_table_exists())
@@ -284,14 +287,13 @@
 	memcpy(&tmpesrt, va, sizeof(tmpesrt));
 	early_memunmap(va, size);
 
-	if (tmpesrt.fw_resource_version == 1) {
-		entry_size = sizeof (*v1_entries);
-	} else {
+	if (tmpesrt.fw_resource_version != 1) {
 		pr_err("Unsupported ESRT version %lld.\n",
 		       tmpesrt.fw_resource_version);
 		return;
 	}
 
+	entry_size = sizeof(struct efi_system_resource_entry_v1);
 	if (tmpesrt.fw_resource_count > 0 && max - size < entry_size) {
 		pr_err("ESRT memory map entry can only hold the header. (max: %zu size: %zu)\n",
 		       max - size, entry_size);
--
Gitblit v1.6.2