[PATCH] net/intel: fix wrap-around check in simple Tx scalar path

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Thu Feb 26 18:44:21 CET 2026


Acked-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>

On 2/26/2026 3:36 PM, Bruce Richardson wrote:
> 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 at 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;
>   

-- 
Regards,
Vladimir



More information about the dev mailing list