[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <503D4E7F.9010205@wwwdotorg.org>
Date: Tue, 28 Aug 2012 16:04:31 -0700
From: Stephen Warren <swarren@...dotorg.org>
To: Franky Lin <frankyl@...adcom.com>
CC: Wei Ni <wni@...dia.com>, Arend van Spriel <arend@...adcom.com>,
"rvossen@...adcom.com" <rvossen@...adcom.com>,
Rakesh Kumar <krakesh@...dia.com>,
Laxman Dewangan <ldewangan@...dia.com>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"brcm80211-dev-list@...adcom.com" <brcm80211-dev-list@...adcom.com>
Subject: Re: [PATCH 2/6] brcmfmac: Handling the interrupt in ISR directly
for non-OOB
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists