Subject: Re: [PATCH] softmac: Fixed handling of deassociation from AP

From: Michael Buesch <[email-masked]>
Date: Wed, 6 Dec 2006 18:52:03 +0100

On Wednesday 06 December 2006 15:45, Larry Finger wrote:
> From:  Ulrich Kunitz <[email-masked]>
>  
> A deauthentication from the AP doesn't start a reassociation by
> SoftMAC. To fix this mac->associnfo.associating must be set and the
> ieee80211softmac_assoc_work function must be scheduled.
> 
> Signed-off-by: Ulrich Kunitz <[email-masked]>
> Signed-off-by: Larry Finger <[email-masked]>
> ---
> 
>  net/ieee80211/softmac/ieee80211softmac_assoc.c |   14 ++++++++++++--
>  net/ieee80211/softmac/ieee80211softmac_auth.c  |    2 ++
>  net/ieee80211/softmac/ieee80211softmac_priv.h  |    2 ++
>  3 files changed, 16 insertions(+), 2 deletions(-)
> 
> Index: wireless-2.6/net/ieee80211/softmac/ieee80211softmac_assoc.c
> ===================================================================
> --- wireless-2.6.orig/net/ieee80211/softmac/ieee80211softmac_assoc.c
> +++ wireless-2.6/net/ieee80211/softmac/ieee80211softmac_assoc.c
> @@ -427,6 +427,17 @@ ieee80211softmac_handle_assoc_response(s
>  	return 0;
>  }
>  
> +void
> +ieee80211softmac_try_reassoc(struct ieee80211softmac_device *mac)
> +{
> +	unsigned long flags;
> +
> +	spin_lock_irqsave(&mac->lock, flags);
> +	mac->associnfo.associating = 1;
> +	schedule_work(&mac->associnfo.work);
> +	spin_unlock_irqrestore(&mac->lock, flags);
> +}

All data in mac->associnfo is protected by mac->associnfo->mutex
and _not_ mac->lock.

-- 
Greetings Michael.