Search Linux Wireless

Re: [PATCH 1/2] iwlagn: fix channel switch locking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stanislaw,

On Thu, 2011-06-02 at 07:44 -0700, Stanislaw Gruszka wrote:
> We use priv->mutex to avoid race condtions between iwl_chswitch_done()
> and iwlagn_mac_channel_switch(), when marking channel switch in
> progress. But iwl_chswitch_dane() can be called in atomic context
> from iwl_rx_csa() or with mutex already taken from iwlagn_commit_rxon().
> 
> These bugs were introduced by:
> 
> commit 79d07325502e73508f917475bc1617b60979dd94
> Author: Wey-Yi Guy <wey-yi.w.guy@xxxxxxxxx>
> Date:   Thu May 6 08:54:11 2010 -0700
> 
>     iwlwifi: support channel switch offload in driver
> 
> To fix remove mutex from iwl_chswitch_done() and use atomic bitops for
> marking channel switch pending.
> 
> Cc: stable@xxxxxxxxxx # 2.6.36+
> Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>
> ---
>  drivers/net/wireless/iwlwifi/iwl-2000.c     |    2 --
>  drivers/net/wireless/iwlwifi/iwl-5000.c     |    2 --
>  drivers/net/wireless/iwlwifi/iwl-6000.c     |    2 --
>  drivers/net/wireless/iwlwifi/iwl-agn-rxon.c |    6 +++---
>  drivers/net/wireless/iwlwifi/iwl-agn.c      |   19 ++++++++++---------
>  drivers/net/wireless/iwlwifi/iwl-core.c     |    6 +-----
>  drivers/net/wireless/iwlwifi/iwl-core.h     |    1 +
>  drivers/net/wireless/iwlwifi/iwl-dev.h      |   13 +------------
>  drivers/net/wireless/iwlwifi/iwl-rx.c       |   24 ++++++++++++------------
>  9 files changed, 28 insertions(+), 47 deletions(-)
> 
> diff --git a/drivers/net/wireless/iwlwifi/iwl-2000.c b/drivers/net/wireless/iwlwifi/iwl-2000.c
> index a37c41b..33f0ad9 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-2000.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-2000.c
> @@ -244,8 +244,6 @@ static int iwl2030_hw_channel_switch(struct iwl_priv *priv,
>  			ctx->active.channel, ch);
>  		return -EFAULT;
>  	}
> -	priv->switch_rxon.channel = cmd.channel;
> -	priv->switch_rxon.switch_in_progress = true;
>  
>  	return iwl_send_cmd_sync(priv, &hcmd);
>  }
Thank you for fix my mistake.
Could you please remove the channel switch from iwl-2000.c all together.
2000 series are 2.4 GHz only 

Thanks
Wey

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux