mpc83xx_restart() buggy
Joakim Tjernlund
joakim.tjernlund at transmode.se
Sat Dec 30 21:49:14 EST 2006
> -----Original Message-----
> From:
> linuxppc-dev-bounces+joakim.tjernlund=transmode.se at ozlabs.org
> [mailto:linuxppc-dev-bounces+joakim.tjernlund=transmode.se at ozl
> abs.org] On Behalf Of Scott Wood
> Sent: den 30 december 2006 00:04
> To: Kumar Gala
> Cc: Tjernlund; 'linuxppc-dev'
> Subject: Re: mpc83xx_restart() buggy
>
> Kumar Gala wrote:
> > On Dec 27, 2006, at 6:45 PM, Tjernlund wrote:
> >>mpc83xx_restart() uses ioremap(), which doesn't like
> >>beeing called while in IRQ context.
> >>
> >>Calling mpc83xx_restart() in IRQ context yields OOPS
> >>which calls mpc83xx_restart() again and the loop never
> >>termintes.
> >
> > This is interesting, I know I've seen restart work properly w/o an
> > oops. How are you causing the restart?
>
> sysrq-b triggers it, as probably does crashing from an
> interrupt handler
> with panic_timeout nonzero. You'll need CONFIG_DEBUG_SPINLOCK_SLEEP
> turned on, of course.
For me it was http://ozlabs.org/pipermail/linuxppc-dev/2006-December/029414.html
ucc_geth_timeout() is buggy and so is ucc_geth_start_xmit(), needs to
return NETDEV_TX_BUSY or NETDEV_TX_OK.
Jocke
More information about the Linuxppc-dev
mailing list