linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Mack <zonque@gmail.com>
To: Bing Zhao <bzhao@marvell.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"s.neumann@raumfeld.com" <s.neumann@raumfeld.com>,
	"afenkart@gmail.com" <afenkart@gmail.com>,
	"linville@tuxdriver.com" <linville@tuxdriver.com>,
	"johannes.berg@intel.com" <johannes.berg@intel.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: Re: [PATCH 3.12] mwifiex: queue main work from main process when bailing on races
Date: Wed, 25 Sep 2013 16:23:19 +0200	[thread overview]
Message-ID: <5242F1D7.4040404@gmail.com> (raw)
In-Reply-To: <477F20668A386D41ADCC57781B1F70430F44C5880A@SC-VEXCH1.marvell.com>

On 17.09.2013 21:15, Bing Zhao wrote:
>> Queue main_work in case mwifiex_main_process() bails due to an already
>> processed transaction. This is particularly necessary because
>> mwifiex_main_process() is called from both the SDIO interrupt handler and
>> the workqueue. In case an interrupt occurs while the main process is
>> currently executed from the workqueue, the interrupt is lost, resulting in a
>> command timeout and consequently a card reset.
>>
>> I'm marking this for stable kernel in version 3.7+, because on our platform,
>> the issue appears since 601216e12c ("mwifiex: process RX packets in SDIO
>> IRQ thread directly") went in.
>>
>> Signed-off-by: Daniel Mack <zonque@gmail.com>
>> Reported-by: Sven Neumann <s.neumann@raumfeld.com>
>> Reported-by: Andreas Fenkart <afenkart@gmail.com>
>> Cc: Bing Zhao <bzhao@marvell.com>
>> Cc: <stable@vger.kernel.org> [v3.7+]
> 
> Acked-by: Bing Zhao <bzhao@marvell.com>

John, could you pick this one?


Many thanks,
Daniel


> 
> Thanks,
> Bing
> 
>> ---
>>  drivers/net/wireless/mwifiex/main.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/wireless/mwifiex/main.c
>> b/drivers/net/wireless/mwifiex/main.c
>> index ff4ed96..0700bc2 100644
>> --- a/drivers/net/wireless/mwifiex/main.c
>> +++ b/drivers/net/wireless/mwifiex/main.c
>> @@ -235,6 +235,7 @@ int mwifiex_main_process(struct mwifiex_adapter
>> *adapter)
>>  	/* Check if already processing */
>>  	if (adapter->mwifiex_processing) {
>>  		spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
>> +		queue_work(adapter->workqueue, &adapter->main_work);
>>  		goto exit_main_proc;
>>  	} else {
>>  		adapter->mwifiex_processing = true;
>> --
>> 1.8.3.1
> 


  reply	other threads:[~2013-09-25 14:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-17 18:25 [PATCH 3.12] mwifiex: queue main work from main process when bailing on races Daniel Mack
2013-09-17 19:15 ` Bing Zhao
2013-09-25 14:23   ` Daniel Mack [this message]
2013-09-25 16:19     ` Bing Zhao
2013-09-25 16:37       ` Daniel Mack

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=5242F1D7.4040404@gmail.com \
    --to=zonque@gmail.com \
    --cc=afenkart@gmail.com \
    --cc=bzhao@marvell.com \
    --cc=johannes.berg@intel.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=s.neumann@raumfeld.com \
    --cc=stable@vger.kernel.org \
    /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).