mac80211: BA session debug prints changes
This patch contains next issues: 1 - prevents "stop BA session" multiple warnings 2 - adds debug print to stop Rx BA session flow 3 - adds EOL in one debug print Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
8cf6a31e8d
Коммит
513a1025fd
|
@ -700,11 +700,6 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
|
||||||
if (tid >= STA_TID_NUM)
|
if (tid >= STA_TID_NUM)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
#ifdef CONFIG_MAC80211_HT_DEBUG
|
|
||||||
printk(KERN_DEBUG "Stop a BA session requested for %s tid %u\n",
|
|
||||||
print_mac(mac, ra), tid);
|
|
||||||
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
sta = sta_info_get(local, ra);
|
sta = sta_info_get(local, ra);
|
||||||
if (!sta) {
|
if (!sta) {
|
||||||
|
@ -717,14 +712,15 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
|
||||||
spin_lock_bh(&sta->ampdu_mlme.ampdu_tx);
|
spin_lock_bh(&sta->ampdu_mlme.ampdu_tx);
|
||||||
|
|
||||||
if (*state != HT_AGG_STATE_OPERATIONAL) {
|
if (*state != HT_AGG_STATE_OPERATIONAL) {
|
||||||
#ifdef CONFIG_MAC80211_HT_DEBUG
|
|
||||||
printk(KERN_DEBUG "Try to stop Tx aggregation on"
|
|
||||||
" non active TID\n");
|
|
||||||
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
|
||||||
ret = -ENOENT;
|
ret = -ENOENT;
|
||||||
goto stop_BA_exit;
|
goto stop_BA_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_MAC80211_HT_DEBUG
|
||||||
|
printk(KERN_DEBUG "Tx BA session stop requested for %s tid %u\n",
|
||||||
|
print_mac(mac, ra), tid);
|
||||||
|
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
||||||
|
|
||||||
ieee80211_stop_queue(hw, sta->tid_to_tx_q[tid]);
|
ieee80211_stop_queue(hw, sta->tid_to_tx_q[tid]);
|
||||||
|
|
||||||
*state = HT_AGG_STATE_REQ_STOP_BA_MSK |
|
*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)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
printk(KERN_DEBUG "Stop a BA session requested on DA %s tid %d\n",
|
#ifdef CONFIG_MAC80211_HT_DEBUG
|
||||||
|
printk(KERN_DEBUG "Stopping Tx BA session for %s tid %d\n",
|
||||||
print_mac(mac, ra), tid);
|
print_mac(mac, ra), tid);
|
||||||
|
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
sta = sta_info_get(local, ra);
|
sta = sta_info_get(local, ra);
|
||||||
|
|
|
@ -1278,7 +1278,7 @@ static void ieee80211_sta_process_addba_request(struct net_device *dev,
|
||||||
ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_START,
|
ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_START,
|
||||||
sta->addr, tid, &start_seq_num);
|
sta->addr, tid, &start_seq_num);
|
||||||
#ifdef CONFIG_MAC80211_HT_DEBUG
|
#ifdef CONFIG_MAC80211_HT_DEBUG
|
||||||
printk(KERN_DEBUG "Rx A-MPDU on tid %d result %d", tid, ret);
|
printk(KERN_DEBUG "Rx A-MPDU request on tid %d result %d\n", tid, ret);
|
||||||
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
@ -1433,6 +1433,7 @@ void ieee80211_sta_stop_rx_ba_session(struct net_device *dev, u8 *ra, u16 tid,
|
||||||
struct ieee80211_hw *hw = &local->hw;
|
struct ieee80211_hw *hw = &local->hw;
|
||||||
struct sta_info *sta;
|
struct sta_info *sta;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
DECLARE_MAC_BUF(mac);
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
|
||||||
|
@ -1453,12 +1454,17 @@ void ieee80211_sta_stop_rx_ba_session(struct net_device *dev, u8 *ra, u16 tid,
|
||||||
sta->ampdu_mlme.tid_state_rx[tid] =
|
sta->ampdu_mlme.tid_state_rx[tid] =
|
||||||
HT_AGG_STATE_REQ_STOP_BA_MSK |
|
HT_AGG_STATE_REQ_STOP_BA_MSK |
|
||||||
(initiator << HT_AGG_STATE_INITIATOR_SHIFT);
|
(initiator << HT_AGG_STATE_INITIATOR_SHIFT);
|
||||||
spin_unlock_bh(&sta->ampdu_mlme.ampdu_rx);
|
spin_unlock_bh(&sta->ampdu_mlme.ampdu_rx);
|
||||||
|
|
||||||
/* stop HW Rx aggregation. ampdu_action existence
|
/* stop HW Rx aggregation. ampdu_action existence
|
||||||
* already verified in session init so we add the BUG_ON */
|
* already verified in session init so we add the BUG_ON */
|
||||||
BUG_ON(!local->ops->ampdu_action);
|
BUG_ON(!local->ops->ampdu_action);
|
||||||
|
|
||||||
|
#ifdef CONFIG_MAC80211_HT_DEBUG
|
||||||
|
printk(KERN_DEBUG "Rx BA session stop requested for %s tid %u\n",
|
||||||
|
print_mac(mac, ra), tid);
|
||||||
|
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
||||||
|
|
||||||
ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_STOP,
|
ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_STOP,
|
||||||
ra, tid, NULL);
|
ra, tid, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче