Thread (7 messages) 7 messages, 3 authors, 2012-06-28

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.
--
Tarun
Thanks 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help