On Tue, Nov 05, 2013 at 07:51:21AM -0800, [email protected] wrote:
> 
> This is a note to let you know that I've just added the patch titled
> 
>     mwifiex: fix SDIO interrupt lost issue
> 
> to the 3.4-stable tree which can be found at:
>     
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      mwifiex-fix-sdio-interrupt-lost-issue.patch
> and it can be found in the queue-3.4 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <[email protected]> know about it.
> 

Although this patch seems to be applicable, it has been tagged for
stable 3.7+.  But maybe the authors may help clarifying this.

Cheers,
--
Luis


> 
> From 453b0c3f6910672f79da354077af728d92f95c5b Mon Sep 17 00:00:00
> 2001 From: Amitkumar Karwar <[email protected]> Date: Fri, 27 Sep
> 2013 10:55:38 -0700 Subject: mwifiex: fix SDIO interrupt lost issue
> 
> From: Amitkumar Karwar <[email protected]>
> 
> commit 453b0c3f6910672f79da354077af728d92f95c5b upstream.
> 
> 601216e "mwifiex: process RX packets in SDIO IRQ thread directly"
> introduced a command timeout issue which can be reproduced easily on
> an AM33xx platform using a test application written by Daniel Mack:
> 
> https://gist.github.com/zonque/6579314
> 
> mwifiex_main_process() is called from both the SDIO handler and
> the workqueue. In case an interrupt occurs right after the
> int_status check, but before updating the mwifiex_processing flag,
> this interrupt gets lost, resulting in a command timeout and
> consequently a card reset.
> 
> Let main_proc_lock protect both int_status and mwifiex_processing
> flag. This fixes the interrupt lost issue.
> 
> Reported-by: Sven Neumann <[email protected]>
> Reported-by: Andreas Fenkart <[email protected]>
> Tested-by: Daniel Mack <[email protected]>
> Reviewed-by: Dylan Reid <[email protected]>
> Signed-off-by: Amitkumar Karwar <[email protected]>
> Signed-off-by: Bing Zhao <[email protected]>
> Signed-off-by: Paul Stewart <[email protected]>
> Signed-off-by: John W. Linville <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> 
> ---
>  drivers/net/wireless/mwifiex/main.c |    6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> --- a/drivers/net/wireless/mwifiex/main.c
> +++ b/drivers/net/wireless/mwifiex/main.c
> @@ -261,10 +261,12 @@ process_start:
>               }
>       } while (true);
>  
> -     if ((adapter->int_status) || IS_CARD_RX_RCVD(adapter))
> +     spin_lock_irqsave(&adapter->main_proc_lock, flags);
> +     if ((adapter->int_status) || IS_CARD_RX_RCVD(adapter)) {
> +             spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
>               goto process_start;
> +     }
>  
> -     spin_lock_irqsave(&adapter->main_proc_lock, flags);
>       adapter->mwifiex_processing = false;
>       spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
>  
> 
> 
> Patches currently in stable-queue which might be from [email protected] are
> 
> queue-3.4/mwifiex-fix-sdio-interrupt-lost-issue.patch
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to