FAILED: patch "[PATCH] ACPI / APEI: Remove ghes_ioremap_area" failed to apply to 4.9-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
520e18a5080d2c444a03280d99c8a35cb667d321Mon Sep 17 00:00:00 2001
From: James Morse <[email protected]>
Date: Mon, 6 Nov 2017 18:44:25 +0000
Subject: [PATCH] ACPI / APEI: Remove ghes_ioremap_area
Now that nothing is using the ghes_ioremap_area pages, rip them out.
Signed-off-by James Morse <[email protected]>
Reviewed-by Borislav Petkov <[email protected]>
Tested-by Tyler Baicar <[email protected]>
Signed-off-by Rafael J. Wysocki <[email protected]>
Cc All applicable <[email protected]>
drivers/acpi/apei/ghes.c +2 -37
@@ -114,19 +114,7 @@ static DEFINE_MUTEX(ghes_list_mutex);* from BIOS to Linux can be determined only in NMI, IRQ or timer * handler, but general ioremap can not be used in atomic context, so * the fixmap is used instead. -*/ - -/* -* Two virtual pages are used, one for IRQ/PROCESS context, the other for -* NMI context (optionally). -*/ -#define GHES_IOREMAP_PAGES 2 -#define GHES_IOREMAP_IRQ_PAGE (base) (base) -#define GHES_IOREMAP_NMI_PAGE (base) ((base) + PAGE_SIZE) - -/* virtual memory area for atomic ioremap */ -static struct vm_struct *ghes_ioremap_area; -/* +* * These 2 spinlocks are used to prevent the fixmap entries from being used * simultaneously. */
@@ -141,23 +129,6 @@ static atomic_t ghes_estatus_cache_alloced;static int ghes_panic_timeout__read_mostly =30 ; -static int ghes_ioremap_init (void ) -{ - ghes_ioremap_area =__get_vm_area (PAGE_SIZE *GHES_IOREMAP_PAGES , -VM_IOREMAP ,VMALLOC_START ,VMALLOC_END ); -if (!ghes_ioremap_area) { -pr_err (GHES_PFX "Failed to allocate virtual memory area for atomic ioremap.\n" ); -return -ENOMEM ; - } - -return 0 ; -} - -static void ghes_ioremap_exit (void ) -{ -free_vm_area (ghes_ioremap_area); -} -static void __iomem *ghes_ioremap_pfn_nmi (u64 pfn) {phys_addr_t paddr;
@@ -1247,13 +1218,9 @@ static int __init ghes_init(void)ghes_nmi_init_cxt (); - rc =ghes_ioremap_init (); -if (rc) - goto err; - rc =ghes_estatus_pool_init ();if (rc) - goto err_ioremap_exit; + goto err; rc =ghes_estatus_pool_expand (GHES_ESTATUS_CACHE_AVG_SIZE *GHES_ESTATUS_CACHE_ALLOCED_MAX );
@@ -1277,8 +1244,6 @@ static int __init ghes_init(void)return 0 ; err_pool_exit:ghes_estatus_pool_exit (); -err_ioremap_exit: -ghes_ioremap_exit (); err:return rc; }