diff options
-rw-r--r-- | net/mac80211/ieee80211.c | 18 | ||||
-rw-r--r-- | net/mac80211/ieee80211_sta.c | 10 |
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) |