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

Commit ffe40645 authored by Michael Chan's avatar Michael Chan Committed by David S. Miller
Browse files

bnxt_en: Fix xmit_more with BQL.



We need to write the doorbell if BQL has stopped the queue and
skb->xmit_more is set.  Otherwise it is possible for the tx queue to
rot and cause tx timeout.

Fixes: 4d172f21 ("bnxt_en: Implement xmit_more.")
Suggested-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a5c66b57
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -463,7 +463,7 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
	prod = NEXT_TX(prod);
	txr->tx_prod = prod;

	if (!skb->xmit_more)
	if (!skb->xmit_more || netif_xmit_stopped(txq))
		bnxt_db_write(bp, txr->tx_doorbell, DB_KEY_TX | prod);

tx_done: