mac80211: fix a client mode reconnect issue
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 36311
This commit is contained in:
parent
6436b3f736
commit
87395ec919
1 changed files with 40 additions and 0 deletions
|
@ -1121,3 +1121,43 @@
|
||||||
{0x00008268, 0xffffffff},
|
{0x00008268, 0xffffffff},
|
||||||
{0x0000826c, 0x0000ffff},
|
{0x0000826c, 0x0000ffff},
|
||||||
{0x00008270, 0x00000000},
|
{0x00008270, 0x00000000},
|
||||||
|
--- a/net/mac80211/mlme.c
|
||||||
|
+++ b/net/mac80211/mlme.c
|
||||||
|
@@ -3955,8 +3955,16 @@ int ieee80211_mgd_auth(struct ieee80211_
|
||||||
|
/* prep auth_data so we don't go into idle on disassoc */
|
||||||
|
ifmgd->auth_data = auth_data;
|
||||||
|
|
||||||
|
- if (ifmgd->associated)
|
||||||
|
- ieee80211_set_disassoc(sdata, 0, 0, false, NULL);
|
||||||
|
+ if (ifmgd->associated) {
|
||||||
|
+ u8 frame_buf[IEEE80211_DEAUTH_FRAME_LEN];
|
||||||
|
+
|
||||||
|
+ ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH,
|
||||||
|
+ WLAN_REASON_UNSPECIFIED,
|
||||||
|
+ false, frame_buf);
|
||||||
|
+
|
||||||
|
+ __cfg80211_send_deauth(sdata->dev, frame_buf,
|
||||||
|
+ sizeof(frame_buf));
|
||||||
|
+ }
|
||||||
|
|
||||||
|
sdata_info(sdata, "authenticate with %pM\n", req->bss->bssid);
|
||||||
|
|
||||||
|
@@ -4016,8 +4024,16 @@ int ieee80211_mgd_assoc(struct ieee80211
|
||||||
|
|
||||||
|
mutex_lock(&ifmgd->mtx);
|
||||||
|
|
||||||
|
- if (ifmgd->associated)
|
||||||
|
- ieee80211_set_disassoc(sdata, 0, 0, false, NULL);
|
||||||
|
+ if (ifmgd->associated) {
|
||||||
|
+ u8 frame_buf[IEEE80211_DEAUTH_FRAME_LEN];
|
||||||
|
+
|
||||||
|
+ ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH,
|
||||||
|
+ WLAN_REASON_UNSPECIFIED,
|
||||||
|
+ false, frame_buf);
|
||||||
|
+
|
||||||
|
+ __cfg80211_send_deauth(sdata->dev, frame_buf,
|
||||||
|
+ sizeof(frame_buf));
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (ifmgd->auth_data && !ifmgd->auth_data->done) {
|
||||||
|
err = -EBUSY;
|
||||||
|
|
Loading…
Reference in a new issue