diff options
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/mlme.c | 3 | ||||
-rw-r--r-- | net/mac80211/tx.c | 2 | ||||
-rw-r--r-- | net/mac80211/util.c | 12 |
3 files changed, 9 insertions, 8 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index b3b3c264ff66..04c306308987 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -1522,6 +1522,8 @@ static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata) | |||
1522 | * anymore. The timeout will be reset if the frame is ACKed by | 1522 | * anymore. The timeout will be reset if the frame is ACKed by |
1523 | * the AP. | 1523 | * the AP. |
1524 | */ | 1524 | */ |
1525 | ifmgd->probe_send_count++; | ||
1526 | |||
1525 | if (sdata->local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) { | 1527 | if (sdata->local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) { |
1526 | ifmgd->nullfunc_failed = false; | 1528 | ifmgd->nullfunc_failed = false; |
1527 | ieee80211_send_nullfunc(sdata->local, sdata, 0); | 1529 | ieee80211_send_nullfunc(sdata->local, sdata, 0); |
@@ -1538,7 +1540,6 @@ static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata) | |||
1538 | 0, (u32) -1, true, false); | 1540 | 0, (u32) -1, true, false); |
1539 | } | 1541 | } |
1540 | 1542 | ||
1541 | ifmgd->probe_send_count++; | ||
1542 | ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms); | 1543 | ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms); |
1543 | run_again(ifmgd, ifmgd->probe_timeout); | 1544 | run_again(ifmgd, ifmgd->probe_timeout); |
1544 | if (sdata->local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) | 1545 | if (sdata->local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) |
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 5f827a6b0d8d..847215bb2a6f 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -153,7 +153,7 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, | |||
153 | 153 | ||
154 | /* Don't calculate ACKs for QoS Frames with NoAck Policy set */ | 154 | /* Don't calculate ACKs for QoS Frames with NoAck Policy set */ |
155 | if (ieee80211_is_data_qos(hdr->frame_control) && | 155 | if (ieee80211_is_data_qos(hdr->frame_control) && |
156 | *(ieee80211_get_qos_ctl(hdr)) | IEEE80211_QOS_CTL_ACK_POLICY_NOACK) | 156 | *(ieee80211_get_qos_ctl(hdr)) & IEEE80211_QOS_CTL_ACK_POLICY_NOACK) |
157 | dur = 0; | 157 | dur = 0; |
158 | else | 158 | else |
159 | /* Time needed to transmit ACK | 159 | /* Time needed to transmit ACK |
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 22f2216b397e..a44c6807df01 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -1371,6 +1371,12 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1371 | } | 1371 | } |
1372 | } | 1372 | } |
1373 | 1373 | ||
1374 | /* add back keys */ | ||
1375 | list_for_each_entry(sdata, &local->interfaces, list) | ||
1376 | if (ieee80211_sdata_running(sdata)) | ||
1377 | ieee80211_enable_keys(sdata); | ||
1378 | |||
1379 | wake_up: | ||
1374 | /* | 1380 | /* |
1375 | * Clear the WLAN_STA_BLOCK_BA flag so new aggregation | 1381 | * Clear the WLAN_STA_BLOCK_BA flag so new aggregation |
1376 | * sessions can be established after a resume. | 1382 | * sessions can be established after a resume. |
@@ -1392,12 +1398,6 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1392 | mutex_unlock(&local->sta_mtx); | 1398 | mutex_unlock(&local->sta_mtx); |
1393 | } | 1399 | } |
1394 | 1400 | ||
1395 | /* add back keys */ | ||
1396 | list_for_each_entry(sdata, &local->interfaces, list) | ||
1397 | if (ieee80211_sdata_running(sdata)) | ||
1398 | ieee80211_enable_keys(sdata); | ||
1399 | |||
1400 | wake_up: | ||
1401 | ieee80211_wake_queues_by_reason(hw, | 1401 | ieee80211_wake_queues_by_reason(hw, |
1402 | IEEE80211_QUEUE_STOP_REASON_SUSPEND); | 1402 | IEEE80211_QUEUE_STOP_REASON_SUSPEND); |
1403 | 1403 | ||