aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 8d541bbc5e6..6cc5696e9a3 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1192,7 +1192,6 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev)
1192 struct sky2_tx_le *le = NULL; 1192 struct sky2_tx_le *le = NULL;
1193 struct tx_ring_info *re; 1193 struct tx_ring_info *re;
1194 unsigned i, len; 1194 unsigned i, len;
1195 int avail;
1196 dma_addr_t mapping; 1195 dma_addr_t mapping;
1197 u32 addr64; 1196 u32 addr64;
1198 u16 mss; 1197 u16 mss;
@@ -1328,12 +1327,8 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev)
1328 re->idx = sky2->tx_prod; 1327 re->idx = sky2->tx_prod;
1329 le->ctrl |= EOP; 1328 le->ctrl |= EOP;
1330 1329
1331 avail = tx_avail(sky2); 1330 if (tx_avail(sky2) <= MAX_SKB_TX_LE)
1332 if (mss != 0 || avail < TX_MIN_PENDING) { 1331 netif_stop_queue(dev);
1333 le->ctrl |= FRC_STAT;
1334 if (avail <= MAX_SKB_TX_LE)
1335 netif_stop_queue(dev);
1336 }
1337 1332
1338 sky2_put_idx(hw, txqaddr[sky2->port], sky2->tx_prod); 1333 sky2_put_idx(hw, txqaddr[sky2->port], sky2->tx_prod);
1339 1334