diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-tx.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c index f72cd0bf6aa3..0182e4da8e35 100644 --- a/drivers/net/wireless/iwlwifi/iwl-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-tx.c | |||
@@ -962,16 +962,16 @@ int iwl_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) | |||
962 | if (ret) | 962 | if (ret) |
963 | return ret; | 963 | return ret; |
964 | 964 | ||
965 | if ((iwl_queue_space(q) < q->high_mark) | 965 | if ((iwl_queue_space(q) < q->high_mark) && priv->mac80211_registered) { |
966 | && priv->mac80211_registered) { | ||
967 | if (wait_write_ptr) { | 966 | if (wait_write_ptr) { |
968 | spin_lock_irqsave(&priv->lock, flags); | 967 | spin_lock_irqsave(&priv->lock, flags); |
969 | txq->need_update = 1; | 968 | txq->need_update = 1; |
970 | iwl_txq_update_write_ptr(priv, txq); | 969 | iwl_txq_update_write_ptr(priv, txq); |
971 | spin_unlock_irqrestore(&priv->lock, flags); | 970 | spin_unlock_irqrestore(&priv->lock, flags); |
971 | } else { | ||
972 | ieee80211_stop_queue(priv->hw, | ||
973 | skb_get_queue_mapping(skb)); | ||
972 | } | 974 | } |
973 | |||
974 | ieee80211_stop_queue(priv->hw, skb_get_queue_mapping(skb)); | ||
975 | } | 975 | } |
976 | 976 | ||
977 | return 0; | 977 | return 0; |