Subject: [PATCH 2/6] brcmfmac: Handling the interrupt in ISR directly for non-OOB

From: [email-masked] (Franky Lin)
Date: Tue, 28 Aug 2012 16:01:45 -0700

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.

Regards,
Franky