aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/mac80211/ieee80211.c18
-rw-r--r--net/mac80211/ieee80211_sta.c10
2 files changed, 16 insertions, 12 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 5d30dd463f22..b3cf69edeed9 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -700,11 +700,6 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
700 if (tid >= STA_TID_NUM) 700 if (tid >= STA_TID_NUM)
701 return -EINVAL; 701 return -EINVAL;
702 702
703#ifdef CONFIG_MAC80211_HT_DEBUG
704 printk(KERN_DEBUG "Stop a BA session requested for %s tid %u\n",
705 print_mac(mac, ra), tid);
706#endif /* CONFIG_MAC80211_HT_DEBUG */
707
708 rcu_read_lock(); 703 rcu_read_lock();
709 sta = sta_info_get(local, ra); 704 sta = sta_info_get(local, ra);
710 if (!sta) { 705 if (!sta) {
@@ -717,14 +712,15 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
717 spin_lock_bh(&sta->ampdu_mlme.ampdu_tx); 712 spin_lock_bh(&sta->ampdu_mlme.ampdu_tx);
718 713
719 if (*state != HT_AGG_STATE_OPERATIONAL) { 714 if (*state != HT_AGG_STATE_OPERATIONAL) {
720#ifdef CONFIG_MAC80211_HT_DEBUG
721 printk(KERN_DEBUG "Try to stop Tx aggregation on"
722 " non active TID\n");
723#endif /* CONFIG_MAC80211_HT_DEBUG */
724 ret = -ENOENT; 715 ret = -ENOENT;
725 goto stop_BA_exit; 716 goto stop_BA_exit;
726 } 717 }
727 718
719#ifdef CONFIG_MAC80211_HT_DEBUG
720 printk(KERN_DEBUG "Tx BA session stop requested for %s tid %u\n",
721 print_mac(mac, ra), tid);
722#endif /* CONFIG_MAC80211_HT_DEBUG */
723
728 ieee80211_stop_queue(hw, sta->tid_to_tx_q[tid]); 724 ieee80211_stop_queue(hw, sta->tid_to_tx_q[tid]);
729 725
730 *state = HT_AGG_STATE_REQ_STOP_BA_MSK | 726 *state = HT_AGG_STATE_REQ_STOP_BA_MSK |
@@ -809,8 +805,10 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_hw *hw, u8 *ra, u8 tid)
809 return; 805 return;
810 } 806 }
811 807
812 printk(KERN_DEBUG "Stop a BA session requested on DA %s tid %d\n", 808#ifdef CONFIG_MAC80211_HT_DEBUG
809 printk(KERN_DEBUG "Stopping Tx BA session for %s tid %d\n",
813 print_mac(mac, ra), tid); 810 print_mac(mac, ra), tid);
811#endif /* CONFIG_MAC80211_HT_DEBUG */
814 812
815 rcu_read_lock(); 813 rcu_read_lock();
816 sta = sta_info_get(local, ra); 814 sta = sta_info_get(local, ra);
diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index 89481c919cb6..2a3f8a8e9a43 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -1278,7 +1278,7 @@ static void ieee80211_sta_process_addba_request(struct net_device *dev,
1278 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_START, 1278 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_START,
1279 sta->addr, tid, &start_seq_num); 1279 sta->addr, tid, &start_seq_num);
1280#ifdef CONFIG_MAC80211_HT_DEBUG 1280#ifdef CONFIG_MAC80211_HT_DEBUG
1281 printk(KERN_DEBUG "Rx A-MPDU on tid %d result %d", tid, ret); 1281 printk(KERN_DEBUG "Rx A-MPDU request on tid %d result %d\n", tid, ret);
1282#endif /* CONFIG_MAC80211_HT_DEBUG */ 1282#endif /* CONFIG_MAC80211_HT_DEBUG */
1283 1283
1284 if (ret) { 1284 if (ret) {
@@ -1433,6 +1433,7 @@ void ieee80211_sta_stop_rx_ba_session(struct net_device *dev, u8 *ra, u16 tid,
1433 struct ieee80211_hw *hw = &local->hw; 1433 struct ieee80211_hw *hw = &local->hw;
1434 struct sta_info *sta; 1434 struct sta_info *sta;
1435 int ret, i; 1435 int ret, i;
1436 DECLARE_MAC_BUF(mac);
1436 1437
1437 rcu_read_lock(); 1438 rcu_read_lock();
1438 1439
@@ -1453,12 +1454,17 @@ void ieee80211_sta_stop_rx_ba_session(struct net_device *dev, u8 *ra, u16 tid,
1453 sta->ampdu_mlme.tid_state_rx[tid] = 1454 sta->ampdu_mlme.tid_state_rx[tid] =
1454 HT_AGG_STATE_REQ_STOP_BA_MSK | 1455 HT_AGG_STATE_REQ_STOP_BA_MSK |
1455 (initiator << HT_AGG_STATE_INITIATOR_SHIFT); 1456 (initiator << HT_AGG_STATE_INITIATOR_SHIFT);
1456 spin_unlock_bh(&sta->ampdu_mlme.ampdu_rx); 1457 spin_unlock_bh(&sta->ampdu_mlme.ampdu_rx);
1457 1458
1458 /* stop HW Rx aggregation. ampdu_action existence 1459 /* stop HW Rx aggregation. ampdu_action existence
1459 * already verified in session init so we add the BUG_ON */ 1460 * already verified in session init so we add the BUG_ON */
1460 BUG_ON(!local->ops->ampdu_action); 1461 BUG_ON(!local->ops->ampdu_action);
1461 1462
1463#ifdef CONFIG_MAC80211_HT_DEBUG
1464 printk(KERN_DEBUG "Rx BA session stop requested for %s tid %u\n",
1465 print_mac(mac, ra), tid);
1466#endif /* CONFIG_MAC80211_HT_DEBUG */
1467
1462 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_STOP, 1468 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_STOP,
1463 ra, tid, NULL); 1469 ra, tid, NULL);
1464 if (ret) 1470 if (ret)