diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-08-03 19:01:00 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-08-04 03:24:29 -0400 |
commit | 20feaab0323cc062b298c12e77869424df05f31f (patch) | |
tree | 3e97151b75d44c4c36ff6191e800fc04bbe44043 /arch/arm/kernel/module.c | |
parent | a9e4e6e14c322e08d1c615afc8f504fb415f9613 (diff) |
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/kernel/module.c')
-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, | |||
323 | #endif | 323 | #endif |
324 | s = find_mod_section(hdr, sechdrs, ".alt.smp.init"); | 324 | s = find_mod_section(hdr, sechdrs, ".alt.smp.init"); |
325 | if (s && !is_smp()) | 325 | if (s && !is_smp()) |
326 | #ifdef CONFIG_SMP_ON_UP | ||
326 | fixup_smp((void *)s->sh_addr, s->sh_size); | 327 | fixup_smp((void *)s->sh_addr, s->sh_size); |
328 | #else | ||
329 | return -EINVAL; | ||
330 | #endif | ||
327 | return 0; | 331 | return 0; |
328 | } | 332 | } |
329 | 333 | ||