]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/vxge/vxge-main.c
vxge: don't drop frame on tx queue full
[net-next-2.6.git] / drivers / net / vxge / vxge-main.c
index 335140d2834a5a4351e7d8bab85d9bc3484dd265..beee4ab2ed30e07359e163765e3bd1c48e6b5c38 100644 (file)
@@ -895,6 +895,12 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev)
                goto _exit2;
        }
 
+       /* Last TXD?  Stop tx queue to avoid dropping packets.  TX
+        * completion will resume the queue.
+        */
+       if (avail == 1)
+               vxge_stop_tx_queue(fifo);
+
        status = vxge_hw_fifo_txdl_reserve(fifo_hw, &dtr, &dtr_priv);
        if (unlikely(status != VXGE_HW_OK)) {
                vxge_debug_tx(VXGE_ERR,