linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* mpc83xx_restart() buggy
@ 2006-12-28  0:45 Tjernlund
  2006-12-29 22:45 ` Kumar Gala
  0 siblings, 1 reply; 5+ messages in thread
From: Tjernlund @ 2006-12-28  0:45 UTC (permalink / raw)
  To: 'linuxppc-dev'

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.

 Jocke 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mpc83xx_restart() buggy
  2006-12-28  0:45 mpc83xx_restart() buggy Tjernlund
@ 2006-12-29 22:45 ` Kumar Gala
  2006-12-29 23:04   ` Scott Wood
  0 siblings, 1 reply; 5+ messages in thread
From: Kumar Gala @ 2006-12-29 22:45 UTC (permalink / raw)
  To: Tjernlund; +Cc: 'linuxppc-dev'


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?

- k

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mpc83xx_restart() buggy
  2006-12-29 22:45 ` Kumar Gala
@ 2006-12-29 23:04   ` Scott Wood
  2006-12-30 10:49     ` Joakim Tjernlund
  0 siblings, 1 reply; 5+ messages in thread
From: Scott Wood @ 2006-12-29 23:04 UTC (permalink / raw)
  To: Kumar Gala; +Cc: Tjernlund, 'linuxppc-dev'

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.

-Scott

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: mpc83xx_restart() buggy
  2006-12-29 23:04   ` Scott Wood
@ 2006-12-30 10:49     ` Joakim Tjernlund
  0 siblings, 0 replies; 5+ messages in thread
From: Joakim Tjernlund @ 2006-12-30 10:49 UTC (permalink / raw)
  To: 'Scott Wood', 'Kumar Gala'; +Cc: 'linuxppc-dev'

> -----Original Message-----
> From: 
> linuxppc-dev-bounces+joakim.tjernlund=transmode.se@ozlabs.org 
> [mailto:linuxppc-dev-bounces+joakim.tjernlund=transmode.se@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: mpc83xx_restart() buggy
@ 2007-01-09  8:13 Joakim Tjernlund
  0 siblings, 0 replies; 5+ messages in thread
From: Joakim Tjernlund @ 2007-01-09  8:13 UTC (permalink / raw)
  To: Scott Wood, Kumar Gala; +Cc: linuxppc-dev

> -----Original Message-----
> From:=20
> linuxppc-dev-bounces+joakim.tjernlund=3Dtransmode.se@ozlabs.org=20
> [mailto:linuxppc-dev-bounces+joakim.tjernlund=3Dtransmode.se@ozl
> abs.org] On Behalf Of Scott Wood
> Sent: 30 December 2006 00:04
> To: Kumar Gala
> Cc: Tjernlund; 'linuxppc-dev'
> Subject: Re: mpc83xx_restart() buggy
>=20
> 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.
> >=20
> > This is interesting, I know I've seen restart work properly w/o an =20
> > oops.  How are you causing the restart?
>=20
> sysrq-b triggers it, as probably does crashing from an=20
> interrupt handler=20
> with panic_timeout nonzero.  You'll need CONFIG_DEBUG_SPINLOCK_SLEEP=20
> turned on, of course.
>=20
> -Scott

Any chance for a fix soon?

 Jocke

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-01-09  8:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-28  0:45 mpc83xx_restart() buggy Tjernlund
2006-12-29 22:45 ` Kumar Gala
2006-12-29 23:04   ` Scott Wood
2006-12-30 10:49     ` Joakim Tjernlund
  -- strict thread matches above, loose matches on Subject: below --
2007-01-09  8:13 Joakim Tjernlund

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).