diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index a7483809d872..4722de13f1db 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -9648,11 +9648,6 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, | |||
9648 | u16 remaining_bytes; | 9648 | u16 remaining_bytes; |
9649 | int fc; | 9649 | int fc; |
9650 | 9650 | ||
9651 | /* If there isn't room in the queue, we return busy and let the | ||
9652 | * network stack requeue the packet for us */ | ||
9653 | if (ipw_queue_space(q) < q->high_mark) | ||
9654 | return NETDEV_TX_BUSY; | ||
9655 | |||
9656 | switch (priv->ieee->iw_mode) { | 9651 | switch (priv->ieee->iw_mode) { |
9657 | case IW_MODE_ADHOC: | 9652 | case IW_MODE_ADHOC: |
9658 | hdr_len = IEEE80211_3ADDR_LEN; | 9653 | hdr_len = IEEE80211_3ADDR_LEN; |
@@ -9818,6 +9813,9 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, | |||
9818 | q->first_empty = ipw_queue_inc_wrap(q->first_empty, q->n_bd); | 9813 | q->first_empty = ipw_queue_inc_wrap(q->first_empty, q->n_bd); |
9819 | ipw_write32(priv, q->reg_w, q->first_empty); | 9814 | ipw_write32(priv, q->reg_w, q->first_empty); |
9820 | 9815 | ||
9816 | if (ipw_queue_space(q) < q->high_mark) | ||
9817 | netif_stop_queue(priv->net_dev); | ||
9818 | |||
9821 | return NETDEV_TX_OK; | 9819 | return NETDEV_TX_OK; |
9822 | 9820 | ||
9823 | drop: | 9821 | drop: |