diff options
author | Maciej W. Rozycki <macro@orcam.me.uk> | 2024-08-26 10:21:47 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-08-29 15:57:09 +0200 |
commit | a678164aadbf68d80f7ab79b8bd5cfe3711e42fa (patch) | |
tree | bde41773f514a5fb66043177ebcac9d0ed348c6c /arch/x86/kernel | |
parent | cc5e03f3be3154f860c9d08b2ac8c139863e1515 (diff) |
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 <macro@orcam.me.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/alpine.DEB.2.21.2408261015270.30766@angie.orcam.me.uk
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/eisa.c | 4 |
1 files changed, 2 insertions, 2 deletions
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; |