Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4403b371 authored by Benjamin LaHaise's avatar Benjamin LaHaise Committed by David S. Miller
Browse files

vxge: don't drop frame on tx queue full



The vxge driver will drop a packet in its transmit function if the number
of TxDs available hits 0.  Instead of doing that, simply stop the transmit
queue when transmitting a packet with the last available TxD.

Signed-off-by: default avatarBenjamin LaHaise <ben.lahaise@neterion.com>
Signed-off-by: default avatarSreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 36e89d73
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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,