Search Linux Wireless

Re: [PATCH 02/10] wl12xx: AP-mode - fix race condition on sta connection

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

 



On Sun, 2011-01-16 at 06:42 +0100, Arik Nemtsov wrote:
> If a sta starts transmitting immediately after authentication, sometimes
> the FW deauthenticates it. Fix this by marking the sta "in-connection"
> in FW before sending the autentication response.
> 
> Signed-off-by: Arik Nemtsov <arik@xxxxxxxxxx>
> ---

Looks good.  So you don't need to remove the STA from the inconnection
list later? Does the firmware remove it automatically?


> diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c
> index fdec4a3..d3ba27c 100644
> --- a/drivers/net/wireless/wl12xx/tx.c
> +++ b/drivers/net/wireless/wl12xx/tx.c
> @@ -70,6 +70,22 @@ static void wl1271_free_tx_id(struct wl1271 *wl, int id)
>  	}
>  }
>  
> +static void wl1271_tx_ap_update_inconnection_sta(struct wl1271 *wl,
> +					      struct sk_buff *skb)

This indentation seems wrong.


> +	/*
> +	 * add the station to the known list before broadcasting the
> +	 * authentication response. this way it won't get de-authed by FW
> +	 * when transmitting too soon.
> +	 */

Broadcasting the auth response? Isn't it unicast?


> @@ -238,6 +254,9 @@ static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct sk_buff *skb,
>  	if (ret < 0)
>  		return ret;
>  
> +	if (wl->bss_type == BSS_TYPE_AP_BSS)
> +		wl1271_tx_ap_update_inconnection_sta(wl, skb);
> +
>  	wl1271_tx_fill_hdr(wl, skb, extra, info);

Isn't there any other place where you can put this? Doesn't it add too
much overhead if you do it for every TX frame?


-- 
Cheers,
Luca.

--
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