I.MX35 GPIO IRQ + Preempt -> Oops

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Mon Oct 4 03:39:20 EDT 2010


Hi Eric,

On Sun, Oct 03, 2010 at 07:15:21PM +0200, Eric Bénard wrote:
> 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.
hmmm

Does deselecting imx-ssi "fixes" the problem, too?

Do you have traffic on the ssi unit when the problem occurs?

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