Search Linux Wireless

Re: [PATCH] mac80211: Look out for some other AP when disassoc is received.

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

 



On Wed, 2008-11-19 at 16:03 -0800, Vivek Natarajan wrote:
> When a disassoc packet is received with a reason code of 'AP leaving the BSS',
> mac80211 should start looking for some other AP instead of trying to
> associate with the same AP.

Umm, it doesn't try to associated with the same AP. And the patch you're
doing is kinda pointless, the reason codes are very often simply wrong
or "due to some local policy decision". Also, the reason code that's
being passed is the one we send ourselves, not the one we received.

> Signed-off-by: Vivek Natarajan <vnatarajan@xxxxxxxxxxx>
> ---
>  net/mac80211/mlme.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
> index 6d5ed9c..8d0f995 100644
> --- a/net/mac80211/mlme.c
> +++ b/net/mac80211/mlme.c
> @@ -855,7 +855,7 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
>  
>  	ieee80211_sta_send_apinfo(sdata, ifsta);
>  
> -	if (self_disconnected)
> +	if (self_disconnected || reason == WLAN_REASON_DISASSOC_STA_HAS_LEFT)
>  		ifsta->state = IEEE80211_STA_MLME_DISABLED;
>  
>  	sta_info_unlink(&sta);
> @@ -1174,7 +1174,7 @@ static void ieee80211_rx_mgmt_disassoc(struct ieee80211_sub_if_data *sdata,
>  				      IEEE80211_RETRY_AUTH_INTERVAL);
>  	}
>  
> -	ieee80211_set_disassoc(sdata, ifsta, false, false, 0);
> +	ieee80211_set_disassoc(sdata, ifsta, false, false, reason_code);
>  }
>  
> 

Attachment: signature.asc
Description: This is a digitally signed message part


[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