[PATCH 2/6] brcmfmac: Handling the interrupt in ISR directly for non-OOB
Franky Lin
frankyl at broadcom.com
Tue Aug 28 19:10:07 EDT 2012
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
More information about the linux-arm-kernel
mailing list