I.MX35 GPIO IRQ + Preempt -> Oops

Eric Bénard eric at eukrea.com
Sun Oct 3 13:15:21 EDT 2010


Le 03/10/2010 18:20, Russell King - ARM Linux a écrit :
> On Sun, Oct 03, 2010 at 05:25:31PM +0200, Eric Bénard wrote:
>> Hi Russell,
>>
>> Le 03/10/2010 13:41, Russell King - ARM Linux a écrit :
>>> The common theme here looks like instruction cache corruption in
>>> default_idle() - iow, the CPU isn't executing the code which is in
>>> memory.
>>>
>> thanks for the analysis.
>> This problem seems to be related to the ARM11 bug described in page 4 of
>> this PDF :
>> http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf?fpsp=1
>>
>> ENGcm09472 ARM: WFI and interrupt problems
>>
>> Description:
>> There are two issues:
>> • The behavior of the FIQ signal to the ARM11 core can cause a problem
>> when exiting WFI mode.
>
> Are you using FIQs?  The kernel normally uses IRQs unless you explicitly
> do something that with FIQs.
>
the FIQ is used for the imx-ssi driver.

It seems that removing the cpu_do_idle() call in 
plat-mxc/include/mach/system.h "fix" the problem.

Eric



More information about the linux-arm-kernel mailing list