public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
* [PATCH] net/intel: fix wrap-around check in simple Tx scalar path
@ 2026-02-26 15:36 Bruce Richardson
  2026-02-26 16:08 ` Burakov, Anatoly
  2026-02-26 17:44 ` Medvedkin, Vladimir
  0 siblings, 2 replies; 4+ messages in thread
From: Bruce Richardson @ 2026-02-26 15:36 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson, Vladimir Medvedkin

There was an error condition when the burst of packets being transmitted
ended exactly on the last descriptor of the ring. In that instance
alone, we ended up writing an invalid tx_tail value to the hardware, of
ring_size rather than of zero. Add an explicit check for this case to
the simple Tx path code.

Fixes: 9bacf6a81b92 ("net/intel: align scalar simple Tx path with vector logic")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/intel/common/tx_scalar.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/intel/common/tx_scalar.h b/drivers/net/intel/common/tx_scalar.h
index 4475995180..9fcd2e4733 100644
--- a/drivers/net/intel/common/tx_scalar.h
+++ b/drivers/net/intel/common/tx_scalar.h
@@ -145,6 +145,8 @@ ci_xmit_burst_simple(struct ci_tx_queue *txq,
 		if (txq->tx_next_rs >= txq->nb_tx_desc)
 			txq->tx_next_rs = (uint16_t)(txq->tx_rs_thresh - 1);
 	}
+	if (tx_id == txq->nb_tx_desc)
+		tx_id = 0;
 
 	txq->tx_tail = tx_id;
 
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-03-02 10:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-26 15:36 [PATCH] net/intel: fix wrap-around check in simple Tx scalar path Bruce Richardson
2026-02-26 16:08 ` Burakov, Anatoly
2026-03-02 10:20   ` Bruce Richardson
2026-02-26 17:44 ` Medvedkin, Vladimir

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox