From: Maciej W. Rozycki Date: Mon, 26 Aug 2024 09:21:47 +0000 (+0100) Subject: x86/EISA: Dereference memory directly instead of using readl() X-Git-Tag: v6.12~458^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a678164aadbf68d80f7ab79b8bd5cfe3711e42fa;p=platform%2Fkernel%2Flinux-amlogic.git x86/EISA: Dereference memory directly instead of using readl() Sparse expect an __iomem pointer, but after converting the EISA probe to memremap() the pointer is a regular memory pointer. Access it directly instead. [ tglx: Converted it to fix the already applied version ] Fixes: 80a4da05642c ("x86/EISA: Use memremap() to probe for the EISA BIOS signature") Signed-off-by: Maciej W. Rozycki Signed-off-by: Thomas Gleixner Link: https://lore.kernel.org/all/alpine.DEB.2.21.2408261015270.30766@angie.orcam.me.uk --- diff --git a/arch/x86/kernel/eisa.c b/arch/x86/kernel/eisa.c index 5a4f99a098bf..9535a6507db7 100644 --- a/arch/x86/kernel/eisa.c +++ b/arch/x86/kernel/eisa.c @@ -11,13 +11,13 @@ static __init int eisa_bus_probe(void) { - void *p; + u32 *p; if ((xen_pv_domain() && !xen_initial_domain()) || cc_platform_has(CC_ATTR_GUEST_SEV_SNP)) return 0; p = memremap(0x0FFFD9, 4, MEMREMAP_WB); - if (p && readl(p) == 'E' + ('I' << 8) + ('S' << 16) + ('A' << 24)) + if (p && *p == 'E' + ('I' << 8) + ('S' << 16) + ('A' << 24)) EISA_bus = 1; memunmap(p); return 0;