Search Linux Wireless

Re: [PATCH] cfg80211: fix disassociation warning due to misuse of wdev->current_bss

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

 



On Thu, 2009-08-06 at 11:06 +0200, Johannes Berg wrote:
> On Thu, 2009-08-06 at 04:52 -0400, Pavel Roskin wrote:
> > WARN_ON was triggered at mlme.c:213 when dissociating from an AP.
> > 
> > wdev->current_bss->pub.bssid should be used in place of
> > wdev->current_bss for BSSID comparison.
> 
> Oh wow, good catch, thanks.

Now that the check is fixed, it turn out there is a related problem in
the same function.  If the device is in the managed mode and disconnects
from an AP due to a low signal, attempts to reassociate by setting the
same ESSID fail:

Error for wireless request "Set ESSID" (8B1A) :
    SET failed on device wlan0 ; Operation already in progress.

It happens because wdev->auth_bsses[i] is not set to NULL.
cfg80211_sme_disassoc() can do it, but not if wdev->conn->state is
CFG80211_CONN_IDLE.

Either cfg80211_sme_disassoc() or __cfg80211_send_disassoc() should
unset wdev->auth_bsses[i] for the management mode.

-- 
Regards,
Pavel Roskin
--
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