Panda ES board hang when using GPIO as interrupt
From: DebBarma, Tarun Kanti <hidden>
Date: 2012-06-27 13:29:40
Also in:
linux-omap, linux-wireless
On Tue, Jun 26, 2012 at 11:50 PM, Franky Lin [off-list ref] wrote:
On 06/26/2012 12:21 AM, DebBarma, Tarun Kanti wrote:quoted
On Tue, Jun 26, 2012 at 2:22 AM, Franky Lin [off-list ref] wrote:quoted
Hi Kevin, Tarun, We are using the expansion connector A on Panda board to mount a SDIO WiFi dongle on MMC2 with a level triggered interrupt signal connected to GPIO 138. It's been working fine until 3.5 rc1. The board hang randomly within 5 mins during a network traffic test. After bisecting we found the culprit is "[PATCH 8/8] gpio/omap: fix missing check in *_runtime_suspend()" [1]. I noticed Kevin raised some similar cases on other platforms and also provided two patches in the patch mail thread. But unfortunately those two patches doesn't help in our case. I tested the driver with 3.5-rc3 mainline kernel and the issue is still there. I can only "fix" the hang by either reverting the commit or disabling CONFIG_PM_RUNTIME. Also, the hang only happens on Panda ES board. Old Panda with 4430 works good. Any thoughts and suggestions?I just had a quick look at the code. Can you please check if the attached patch solves the issue? I just boot tested on Panda and Blaze. -- TarunThanks for the prompt reply. Booting is fine even without the patch and revert. The wifi dongle generates interrupt whenever there is data packet available for host to read. So during a traffic test a significant numbers of interrupt will be triggered through the GPIO. So I assume it has something to do with the interrupt GPIO. With the patch, the kernel still crashes. But the symptom is slightly different. Now it has a panic log every time. See attachment.
I tried comparing the present code with older version with regard to enabled_non_wakeup_gpios check. The obvious difference I observed is that this check is performed after off-mode check, unlike the present case where the check is done just prior to off-mode check. But then, as Kevin pointed out, we need to understand the exact problem. I am trying to have a setup to reproduce the problem. BTW, you can ignore my patch because I realized that saved_datain is part of the workaround. --- Tarun
Regards, Franky