Re: [PATCH 2/6] brcmfmac: Handling the interrupt in ISRdirectly for non-OOB

From: Franky Lin
Date: Tue Aug 28 2012 - 19:10:13 EST


On 08/28/2012 04:04 PM, Stephen Warren wrote:
On 08/28/2012 04:01 PM, Franky Lin wrote:
On 08/28/2012 03:39 PM, Stephen Warren wrote:
On 08/28/2012 09:45 AM, Franky Lin wrote:
On 08/28/2012 04:13 AM, Wei Ni wrote:
On Tue, 2012-08-28 at 04:06 +0800, Stephen Warren wrote:
On 08/27/2012 09:24 AM, Arend van Spriel wrote:
On 08/27/2012 12:25 PM, Wei Ni wrote:
In case of inband interrupts, if we handle the interrupt in dpc
thread,
two level of thread switching takes place to process wifi
interrupts.
One in SDHCI driver and the other in Wifi driver. This may cause the
system
instability.
...
Not sure if I can follow this explanation. The isr is called with
host
claimed (by sdio_irq_thread) and all it does is at a linked list
member
and signal the dpc thread. After doing this the host is released.

Is the issue something like the ISR handler or first level of
threading
does:

* Trigger DPC
* Re-enable interrupt

So that the interrupt then fires again before the triggered DPC can
run
to handle/clear it, thus causing an interrupt storm?

Whereas handling the interrupt directly prevents this race condition?

Above is my understanding.

I understand the issue here and totally agree that we should treat
in-band and out-band interrupts differently. But my concern is that the
behavior of releasing the host before calling brcmf_sdbrcm_isr and grab
it after is likely error prone. Also we are restructuring the dpc
routine internally and it's almost done. I will find a better solution
for in-band interrupt and get it the queue as well. So I suggest
dropping this patch.

Franky, do you know which kernel release the DPC restructuring will make
it into? I ask because I can't apply the rest of the patches in this
series without first resolving the stability issues with the Broadcom
WiFi enabled, since that'd de-stabilize the Tegra platform
significantly, and I'd like to plan when we can apply these patches to
Tegra. Thanks!


Hi Stephen,

Since we submit patches through linux-wireless tree, you may only be
able to pick it up at 3.7-rc1. It's quite a big change so I don't think
it will qualify as a bug fix to get into 3.6-rcX.

That's as quick as I expected it to show up, so that's great. I don't
suppose you could mail Wei and myself once the patch gets into the
linux-wireless tree, so we can test it out on Tegra. If the patch could
possibly go into a topic branch in the wireless tree so it can be merged
into the Tegra tree before this series, that would be awesome. Thanks.


Will keep you posted.

Franky

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/