diff options
-rw-r--r-- | drivers/net/wireless/mwl8k.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c index 28ebaec80be6..33da25a349b7 100644 --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c | |||
@@ -1666,10 +1666,6 @@ mwl8k_txq_reclaim(struct ieee80211_hw *hw, int index, int limit, int force) | |||
1666 | processed++; | 1666 | processed++; |
1667 | } | 1667 | } |
1668 | 1668 | ||
1669 | if (index < MWL8K_TX_WMM_QUEUES && processed && priv->radio_on && | ||
1670 | !mutex_is_locked(&priv->fw_mutex)) | ||
1671 | ieee80211_wake_queue(hw, index); | ||
1672 | |||
1673 | return processed; | 1669 | return processed; |
1674 | } | 1670 | } |
1675 | 1671 | ||
@@ -1951,13 +1947,14 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw, int index, struct sk_buff *skb) | |||
1951 | 1947 | ||
1952 | txq = priv->txq + index; | 1948 | txq = priv->txq + index; |
1953 | 1949 | ||
1954 | if (index >= MWL8K_TX_WMM_QUEUES && txq->len >= MWL8K_TX_DESCS) { | 1950 | if (txq->len >= MWL8K_TX_DESCS) { |
1955 | /* This is the case in which the tx packet is destined for an | 1951 | if (start_ba_session) { |
1956 | * AMPDU queue and that AMPDU queue is full. Because we don't | 1952 | spin_lock(&priv->stream_lock); |
1957 | * start and stop the AMPDU queues, we must drop these packets. | 1953 | mwl8k_remove_stream(hw, stream); |
1958 | */ | 1954 | spin_unlock(&priv->stream_lock); |
1959 | dev_kfree_skb(skb); | 1955 | } |
1960 | spin_unlock_bh(&priv->tx_lock); | 1956 | spin_unlock_bh(&priv->tx_lock); |
1957 | dev_kfree_skb(skb); | ||
1961 | return; | 1958 | return; |
1962 | } | 1959 | } |
1963 | 1960 | ||
@@ -1985,9 +1982,6 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw, int index, struct sk_buff *skb) | |||
1985 | if (txq->tail == MWL8K_TX_DESCS) | 1982 | if (txq->tail == MWL8K_TX_DESCS) |
1986 | txq->tail = 0; | 1983 | txq->tail = 0; |
1987 | 1984 | ||
1988 | if (txq->head == txq->tail && index < MWL8K_TX_WMM_QUEUES) | ||
1989 | ieee80211_stop_queue(hw, index); | ||
1990 | |||
1991 | mwl8k_tx_start(priv); | 1985 | mwl8k_tx_start(priv); |
1992 | 1986 | ||
1993 | spin_unlock_bh(&priv->tx_lock); | 1987 | spin_unlock_bh(&priv->tx_lock); |