Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5f226c7e95bf318879fb6ae02fc0dfb0f6d408c
Commit:     c5f226c7e95bf318879fb6ae02fc0dfb0f6d408c
Parent:     9ba4ace39fdfe22268daca9f28c5df384ae462cf
Author:     Tony Breeds <[EMAIL PROTECTED]>
AuthorDate: Wed Jun 20 15:17:29 2007 +1000
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Wed Jun 20 22:07:38 2007 +1000

    [POWERPC] Fix powermac late initcall to only run on powermac
    
    Current ppc64_defconfig kernel fails to boot on iSeries, dying with:
    
    Unable to handle kernel paging request for data at address 0x00000000
    Faulting instruction address: 0xc00000000071b258
    Oops: Kernel access of bad area, sig: 11 [#1]
    SMP NR_CPUS=32 iSeries
    <snip>
    NIP [c00000000071b258] .iSeries_src_init+0x34/0x64
    LR [c000000000701bb4] .kernel_init+0x1fc/0x3bc
    Call Trace:
    [c000000007d0be30] [0000000000008000] 0x8000 (unreliable)
    [c000000007d0bea0] [c000000000701bb4] .kernel_init+0x1fc/0x3bc
    [c000000007d0bf90] [c0000000000262d4] .kernel_thread+0x4c/0x68
    Instruction dump:
    e922cba8 3880ffff 78840420 f8010010 f821ff91 60000000 e8090000 78095fe3
    4182002c e922cb58 e862cbb0 e9290140 <e8090000> f8410028 7c0903a6 e9690010
    Kernel panic - not syncing: Attempted to kill init!
    
    This happens because some powermac code unconditionally sets
    ppc_md.progress to NULL.  This patch makes sure the powermac late
    initcall is only run on powermac machines.
    
    Signed-off-by: Tony Breeds <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/powerpc/platforms/powermac/setup.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/platforms/powermac/setup.c 
b/arch/powerpc/platforms/powermac/setup.c
index 9565715..7ccb923 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -454,6 +454,9 @@ static int initializing = 1;
 
 static int pmac_late_init(void)
 {
+       if (!machine_is(powermac))
+               return -ENODEV;
+
        initializing = 0;
        /* this is udbg (which is __init) and we can later use it during
         * cpu hotplug (in smp_core99_kick_cpu) */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to