USB Host port inoperative after kexec on Beagleboard

Will Deacon will.deacon at arm.com
Mon Jan 9 17:54:03 EST 2012


On Mon, Jan 09, 2012 at 10:09:54PM +0000, Peter Chubb wrote:
> 
> Hi Will,

Hi Peter [adding linux-arm-kernel],

>    Thanks for the fixes to kexec for ARM that went into mainline this
>    week.  Mostly things work now.

Great, that's good to hear!

>    One issue: the USB EHCI port on the (rev C2) beagleboard doesn't
>    work after a kexec.  During boot after kexec, the host device is
>    detected and initialised, but nothing plugged in works, even when
>    everything was working corectly before the kexec.  Das U-boot
>    must set up something that is then undone during the kexec reboot.

Ouch. Have you had a chance to look at the u-boot sources to see what it
does?

>    I've traced all calls to clk_enable() and clk_disable(), and
>    everything looks all right --- in particular I can't see 
>    anything explicitly disabled during kexec that isn't reenabled
>    during boot of the subsequent kernel.
> 
>    Voltages that I can measure look correct on the port.
> 
>    Do you have any suggestions as to what else could be wrong?

I'm afraid I'm not familiar with the Beagleboard, so I can't begin to guess.
Have you tried re-initialising the host controller in the new kernel
manually (perhaps my building the driver as a module and {un}loading it a
few times?). It could be that some hardware state persists across the kexec
and it just needs resetting.

Will



More information about the kexec mailing list