aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/mlme.c3
-rw-r--r--net/mac80211/tx.c2
-rw-r--r--net/mac80211/util.c12
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