Subject: [PATCH] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled

From: [email-masked] (Tony Lindgren)
Date: Tue, 27 May 2014 13:34:52 -0700

* Daniel Lezcano <[email-masked]> [140523 13:53]:
> On 23 May 2014 20:32, Tony Lindgren <[email-masked]> wrote:
> 
> > * Tony Lindgren <[email-masked]> [140523 07:45]:
> > > * Tobias Jakobi <[email-masked]> [140519 14:19]:
> > > >
> > > > But even if I don't connect via WiFi at all, just boot and let me
> > system
> > > > run with serial console connected, after some time I get a kernel
> > 'WARNING':
> > > > http://www.math.uni-bielefeld.de/~tjakobi/archive/dmesg.1.log
> > >
> > > BTW, care to update the bugzilla page with the second warning
> > > in this log?
> > >
> > > That's the WARNING: CPU: 1 PID: 0 at kernel/timer.c:1147 that's
> > > at 238 seconds.
> >
> > Also, with Santosh's fix applied, can you also try disabling one
> > or more of the idle states for cpuidle and see if that helps?
> >
> > Something like this patch below. If that helps with the WARNING
> > above you're getting it narrows down the problem down quite a bit.
> >
> > Regards,
> >
> > Tony
> >
> > --- a/arch/arm/mach-omap2/cpuidle44xx.c
> > +++ b/arch/arm/mach-omap2/cpuidle44xx.c
> > @@ -44,11 +44,13 @@ static struct idle_statedata omap4_idle_data[] = {
> >                 .mpu_state = PWRDM_POWER_RET,
> >                 .mpu_logic_state = PWRDM_POWER_RET,
> >         },
> > +#if 0
> >         {
> >                 .cpu_state = PWRDM_POWER_OFF,
> >                 .mpu_state = PWRDM_POWER_RET,
> >                 .mpu_logic_state = PWRDM_POWER_OFF,
> >         },
> > +#endif
> >
> 
> Hmm, I am afraid that will lead to a fault. Safer to set the state_count =
> 2 instead.

Hmm don't we have state_count = ARRAY_SIZE(omap4_idle_data) or am I
missing something?

Regards,

Tony