diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-08-04 00:01:00 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-08-04 08:24:29 +0100 |
commit | 20feaab0323cc062b298c12e77869424df05f31f (patch) | |
tree | 3e97151b75d44c4c36ff6191e800fc04bbe44043 /arch/arm | |
parent | a9e4e6e14c322e08d1c615afc8f504fb415f9613 (diff) | |
download | linux-20feaab0323cc062b298c12e77869424df05f31f.tar.gz linux-20feaab0323cc062b298c12e77869424df05f31f.tar.bz2 linux-20feaab0323cc062b298c12e77869424df05f31f.zip |
ARM: Fix build error for SMP=n builds
Unfortunately, the module fixups cause the kernel to fail to build
when SMP is not enabled. Fix this by removing the reference to
fixup_smp on non-SMP fixup kernels, but ensuring that if we do have
the SMP fixup section, we refuse to load the module.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/kernel/module.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index 05b377616fd5..cc2020c2c709 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c @@ -323,7 +323,11 @@ int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs, #endif s = find_mod_section(hdr, sechdrs, ".alt.smp.init"); if (s && !is_smp()) +#ifdef CONFIG_SMP_ON_UP fixup_smp((void *)s->sh_addr, s->sh_size); +#else + return -EINVAL; +#endif return 0; } |