restart callback not supposed to sleep?

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Mon Aug 20 05:21:45 EDT 2012


On Mon, Aug 20, 2012 at 10:05:46AM +0100, Russell King - ARM Linux wrote:
> On Mon, Aug 20, 2012 at 10:57:34AM +0200, Lothar Waßmann wrote:
> > Hi,
> > 
> > Uwe Kleine-König writes:
> > > Hello,
> > > 
> > > while triggering a reboot via sysrq on an ARM machine I saw a "BUG:
> > > sleeping function called from invalid context" message (details below).
> > > The reason is that the sysrq handler is calling the restart hook in irq
> > > context. So what should be done about that? The obvious possiblities
> > > are:
> > > 
> > >  a) ignore the problem as it won't result in problems (and maybe somehow
> > >     silence the warnign); or
> > >  b) make the restart hook atomic; or
> > >  c) assert sysrq not calling the hook in atomic mode
> > > 
> > > What do you think?
> > > 
> > This has been discussed earlier (with your participation) with 'a)'
> > being the conclusion.
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2010-December/033877.html
> 
> Except if you look at the backtrace, it seems that it fails to restart.
> There are two attempts there at making it restart so the first could
> not have succeeded.
Just for the log: The restart works ok.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list