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

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

On Wednesday 06 December 2006 21:17, Ulrich Kunitz wrote:
> On 06-12-06 18:52 Michael Buesch wrote:
> 
> > All data in mac->associnfo is protected by mac->associnfo->mutex
> > and _not_ mac->lock.
> 
> Are you sure?

Yes I am.

> One can find for instance the following function in 
> ieee80211softmac_assoc.c:

This is not the first time we notice that locking
is completely broken in softmac. ;)

> void
> ieee80211softmac_disassoc(struct ieee80211softmac_device *mac)
> {
>         unsigned long flags;
> 
>         spin_lock_irqsave(&mac->lock, flags);
>         if (mac->associnfo.associating)
>                 cancel_delayed_work(&mac->associnfo.timeout);
> 
>         netif_carrier_off(mac->dev);
> 
>         mac->associnfo.associated = 0;
>         mac->associnfo.bssvalid = 0;
>         mac->associnfo.associating = 0;
>         ieee80211softmac_init_bss(mac);
>         ieee80211softmac_call_events_locked(mac, IEEE80211SOFTMAC_EVENT_DISASSOCIATED, NULL);
>         spin_unlock_irqrestore(&mac->lock, flags);
> }
> 
> Cheers,
> 
> Uli
> 

-- 
Greetings Michael.