|
@@ -47,7 +47,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
struct ieee80211_mgd_auth_data *auth_data;
|
|
|
--- a/net/mac80211/mlme.c
|
|
|
+++ b/net/mac80211/mlme.c
|
|
|
-@@ -2725,7 +2725,7 @@ EXPORT_SYMBOL(ieee80211_ap_probereq_get)
|
|
|
+@@ -2716,7 +2716,7 @@ EXPORT_SYMBOL(ieee80211_ap_probereq_get)
|
|
|
|
|
|
static void ieee80211_report_disconnect(struct ieee80211_sub_if_data *sdata,
|
|
|
const u8 *buf, size_t len, bool tx,
|
|
@@ -56,7 +56,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
{
|
|
|
struct ieee80211_event event = {
|
|
|
.type = MLME_EVENT,
|
|
|
-@@ -2734,7 +2734,7 @@ static void ieee80211_report_disconnect(
|
|
|
+@@ -2725,7 +2725,7 @@ static void ieee80211_report_disconnect(
|
|
|
};
|
|
|
|
|
|
if (tx)
|
|
@@ -65,7 +65,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
else
|
|
|
cfg80211_rx_mlme_mgmt(sdata->dev, buf, len);
|
|
|
|
|
|
-@@ -2756,13 +2756,18 @@ static void __ieee80211_disconnect(struc
|
|
|
+@@ -2747,13 +2747,18 @@ static void __ieee80211_disconnect(struc
|
|
|
|
|
|
tx = !sdata->csa_block_tx;
|
|
|
|
|
@@ -89,7 +89,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
tx, frame_buf);
|
|
|
mutex_lock(&local->mtx);
|
|
|
sdata->vif.csa_active = false;
|
|
|
-@@ -2775,7 +2780,9 @@ static void __ieee80211_disconnect(struc
|
|
|
+@@ -2766,7 +2771,9 @@ static void __ieee80211_disconnect(struc
|
|
|
mutex_unlock(&local->mtx);
|
|
|
|
|
|
ieee80211_report_disconnect(sdata, frame_buf, sizeof(frame_buf), tx,
|
|
@@ -100,7 +100,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
|
|
|
sdata_unlock(sdata);
|
|
|
}
|
|
|
-@@ -2794,6 +2801,13 @@ static void ieee80211_beacon_connection_
|
|
|
+@@ -2785,6 +2792,13 @@ static void ieee80211_beacon_connection_
|
|
|
sdata_info(sdata, "Connection to AP %pM lost\n",
|
|
|
ifmgd->bssid);
|
|
|
__ieee80211_disconnect(sdata);
|
|
@@ -114,7 +114,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
} else {
|
|
|
ieee80211_mgd_probe_ap(sdata, true);
|
|
|
}
|
|
|
-@@ -2832,6 +2846,21 @@ void ieee80211_connection_loss(struct ie
|
|
|
+@@ -2823,6 +2837,21 @@ void ieee80211_connection_loss(struct ie
|
|
|
}
|
|
|
EXPORT_SYMBOL(ieee80211_connection_loss);
|
|
|
|
|
@@ -136,7 +136,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
|
|
|
static void ieee80211_destroy_auth_data(struct ieee80211_sub_if_data *sdata,
|
|
|
bool assoc)
|
|
|
-@@ -3135,7 +3164,7 @@ static void ieee80211_rx_mgmt_deauth(str
|
|
|
+@@ -3126,7 +3155,7 @@ static void ieee80211_rx_mgmt_deauth(str
|
|
|
ieee80211_set_disassoc(sdata, 0, 0, false, NULL);
|
|
|
|
|
|
ieee80211_report_disconnect(sdata, (u8 *)mgmt, len, false,
|
|
@@ -145,7 +145,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-@@ -3184,7 +3213,8 @@ static void ieee80211_rx_mgmt_disassoc(s
|
|
|
+@@ -3175,7 +3204,8 @@ static void ieee80211_rx_mgmt_disassoc(s
|
|
|
|
|
|
ieee80211_set_disassoc(sdata, 0, 0, false, NULL);
|
|
|
|
|
@@ -155,7 +155,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
}
|
|
|
|
|
|
static void ieee80211_get_rates(struct ieee80211_supported_band *sband,
|
|
|
-@@ -4204,7 +4234,8 @@ static void ieee80211_rx_mgmt_beacon(str
|
|
|
+@@ -4199,7 +4229,8 @@ static void ieee80211_rx_mgmt_beacon(str
|
|
|
true, deauth_buf);
|
|
|
ieee80211_report_disconnect(sdata, deauth_buf,
|
|
|
sizeof(deauth_buf), true,
|
|
@@ -165,7 +165,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-@@ -4349,7 +4380,7 @@ static void ieee80211_sta_connection_los
|
|
|
+@@ -4344,7 +4375,7 @@ static void ieee80211_sta_connection_los
|
|
|
tx, frame_buf);
|
|
|
|
|
|
ieee80211_report_disconnect(sdata, frame_buf, sizeof(frame_buf), true,
|
|
@@ -174,7 +174,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
}
|
|
|
|
|
|
static int ieee80211_auth(struct ieee80211_sub_if_data *sdata)
|
|
|
-@@ -5439,7 +5470,8 @@ int ieee80211_mgd_auth(struct ieee80211_
|
|
|
+@@ -5434,7 +5465,8 @@ int ieee80211_mgd_auth(struct ieee80211_
|
|
|
|
|
|
ieee80211_report_disconnect(sdata, frame_buf,
|
|
|
sizeof(frame_buf), true,
|
|
@@ -184,7 +184,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
}
|
|
|
|
|
|
sdata_info(sdata, "authenticate with %pM\n", req->bss->bssid);
|
|
|
-@@ -5511,7 +5543,8 @@ int ieee80211_mgd_assoc(struct ieee80211
|
|
|
+@@ -5506,7 +5538,8 @@ int ieee80211_mgd_assoc(struct ieee80211
|
|
|
|
|
|
ieee80211_report_disconnect(sdata, frame_buf,
|
|
|
sizeof(frame_buf), true,
|
|
@@ -194,7 +194,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
}
|
|
|
|
|
|
if (ifmgd->auth_data && !ifmgd->auth_data->done) {
|
|
|
-@@ -5810,7 +5843,7 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
|
+@@ -5809,7 +5842,7 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
|
ieee80211_destroy_auth_data(sdata, false);
|
|
|
ieee80211_report_disconnect(sdata, frame_buf,
|
|
|
sizeof(frame_buf), true,
|
|
@@ -203,7 +203,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-@@ -5830,7 +5863,7 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
|
+@@ -5829,7 +5862,7 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
|
ieee80211_destroy_assoc_data(sdata, false, true);
|
|
|
ieee80211_report_disconnect(sdata, frame_buf,
|
|
|
sizeof(frame_buf), true,
|
|
@@ -212,7 +212,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-@@ -5845,7 +5878,7 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
|
+@@ -5844,7 +5877,7 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
|
req->reason_code, tx, frame_buf);
|
|
|
ieee80211_report_disconnect(sdata, frame_buf,
|
|
|
sizeof(frame_buf), true,
|
|
@@ -221,7 +221,7 @@ Signed-off-by: Johannes Berg <[email protected]>
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-@@ -5878,7 +5911,7 @@ int ieee80211_mgd_disassoc(struct ieee80
|
|
|
+@@ -5877,7 +5910,7 @@ int ieee80211_mgd_disassoc(struct ieee80
|
|
|
frame_buf);
|
|
|
|
|
|
ieee80211_report_disconnect(sdata, frame_buf, sizeof(frame_buf), true,
|