[Cbe-oss-dev] ps3 kexec breakage in 2.6.24

Jeremy Kerr jk at ozlabs.org
Thu Jan 10 17:21:07 EST 2008


Hi Geoff & Geert,

I'm having trouble kexecing with the 2.6.24 rc kernels. 2.6.23 works 
fine, but 2.6.24-rc1 and onwards don't work for me. The machine wedges 
on the way down (I assume, as I don't get any output from the kexec-ed 
kernel), with the framebuffer still showing the old kernel's console.

I've tried kexecing the same kernel, as well as kexecing a known-working 
(ie, .23) kernel. Neither will work.

After bisecting, it seems this commit is causing the failure:

commit 0333d83509c7d8496c8965b5ba9bc0c98e83c259
Author: Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com>
Date:   Tue Oct 16 01:29:48 2007 -0700

    ps3fb: use fb_info.par properly
    
    ps3fb: Use fb_info.par properly:
      o Move mode-specific fields into struct ps3fb_par
      o Allocate struct ps3fb_par using framebuffer_alloc()
      o Protect access to ps3fb_par in ps3fb_sync() using the console 
semaphore
        (this semaphore is already held when ps3fb_set_par() is called)
      o Avoid calling ps3av_set_video_mode() if the actual video mode 
hasn't
        changed
    
    Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com>
    Cc: "Antonino A. Daplas" <adaplas at pol.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

I see that this change introduces the acquire/release_console_sem() 
calls - if I comment these out, the kernel can kexec.

Ben and I are just chasing up the uses of the console semaphore by 
kexec, will let you know if we come up with anything.

Cheers,


Jeremy




More information about the cbe-oss-dev mailing list