From: Jon Hunter <jon-hunter@ti.com>
To: Franky Lin <frankyl@broadcom.com>
Cc: Kevin Hilman <khilman@ti.com>,
b-cousson@ti.com, tony@atomide.com,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
grant.likely@secretlab.ca, santosh.shilimkar@ti.com,
linux-omap@vger.kernel.org, tarun.kanti@ti.com,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: Panda ES board hang when using GPIO as interrupt
Date: Thu, 28 Jun 2012 10:42:00 -0500 [thread overview]
Message-ID: <4FEC7B48.8040402@ti.com> (raw)
In-Reply-To: <4FEBA854.5010508@broadcom.com>
On 06/27/2012 07:41 PM, Franky Lin wrote:
> On 06/26/2012 08:37 PM, Kevin Hilman wrote:
>> "Franky Lin" <frankyl@broadcom.com> writes:
>>> 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?
>>
>> If reverting the patch fixes your problem, can you isolate down to which
>> part of that patch causes the problem? IOW, can you fix your problem if
>> you undo just the hunk added in runtime_suspend or undo just the moved
>> hunk runtime_resume? Or is reverting both required?
>>
>> I suspect the added runtime_suspend hunk is causing the problems, so can
>> you see if just undoing that part works[1]. If that works, I will give
>> a bit more of a thinking on it tomorrow.
>
> runtime_suspend hunk is fine. The hang still exist after reverting it.
> The culprit is the moved hunk in runtime_resume. Reverting it makes the
> hang disappear.
Thanks. From reviewing the code the only thing that appears suspect based
upon your findings is the return if we find the context has not been lost.
We are not checking if "workaround_enabled" is set before we return.
Could you try the following change on top of v3.5-rc3?
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index c4ed172..3b89e85 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1238,12 +1238,8 @@ static int omap_gpio_runtime_resume(struct device *dev)
if (bank->get_context_loss_count) {
context_lost_cnt_after =
bank->get_context_loss_count(bank->dev);
- if (context_lost_cnt_after != bank->context_loss_count) {
+ if (context_lost_cnt_after != bank->context_loss_count)
omap_gpio_restore_context(bank);
- } else {
- spin_unlock_irqrestore(&bank->lock, flags);
- return 0;
- }
}
Also, could you add a print in the runtime_suspend/resume() functions so
we can see how often these are being called. In my case, I really don't see
these being exercised and I am wondering how often you see suspend/resume
being called in your setup.
Cheers
Jon
next prev parent reply other threads:[~2012-06-28 15:41 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-25 20:52 Panda ES board hang when using GPIO as interrupt Franky Lin
2012-06-26 7:21 ` DebBarma, Tarun Kanti
[not found] ` <CAC83ZvL2ozQD1DYmtKeFa1PB1pZ1JmBUKFWmDWnbJOCDL3sKNg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-26 18:20 ` Franky Lin
2012-06-27 13:29 ` DebBarma, Tarun Kanti
[not found] ` <4FE8CF77.5080400-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2012-06-27 3:37 ` Kevin Hilman
[not found] ` <87txxxs9we.fsf-l0cyMroinI0@public.gmane.org>
2012-06-28 0:41 ` Franky Lin
2012-06-28 15:42 ` Jon Hunter [this message]
2012-06-28 21:24 ` Franky Lin
[not found] ` <4FECCB91.7090609-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2012-06-28 21:55 ` Jon Hunter
[not found] ` <4FECD2E5.1060603-l0cyMroinI0@public.gmane.org>
2012-06-28 22:53 ` Franky Lin
2012-06-28 22:59 ` Jon Hunter
2012-06-28 23:10 ` Franky Lin
[not found] ` <4FECE45E.6040506-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2012-06-28 23:28 ` Jon Hunter
2012-06-28 23:35 ` Jon Hunter
2012-06-28 23:54 ` Jon Hunter
2012-06-29 0:59 ` Franky Lin
2012-06-29 4:07 ` DebBarma, Tarun Kanti
[not found] ` <CAC83ZvJJw-7Xt4Ey4_OT70D6MGHEfwURYVuj5wYTLe5oYiMuRw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-29 15:53 ` Jon Hunter
2012-06-27 23:43 ` Jon Hunter
2012-06-28 1:03 ` Franky Lin
[not found] ` <4FEBAD7A.5050505-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2012-06-28 15:37 ` Jon Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FEC7B48.8040402@ti.com \
--to=jon-hunter@ti.com \
--cc=b-cousson@ti.com \
--cc=frankyl@broadcom.com \
--cc=grant.likely@secretlab.ca \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=santosh.shilimkar@ti.com \
--cc=tarun.kanti@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).