On Thu, Jul 17, 2025 at 05:21:48PM -0700, Joshua Hay wrote:
...
> diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c
> b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
...
> @@ -1959,10 +1966,29 @@ static bool idpf_tx_clean_buf_ring(struct
> idpf_tx_queue *txq, u16 compl_tag,
> };
> u16 ntc, orig_idx = idx;
>
> + tx_buf = &txq->tx_buf[buf_id];
> + if (tx_buf->type == LIBETH_SQE_SKB) {
> + if (skb_shinfo(tx_buf->skb)->tx_flags & SKBTX_IN_PROGRESS)
> + idpf_tx_read_tstamp(txq, tx_buf->skb);
> +
> + libeth_tx_complete(tx_buf, &cp);
> + idpf_post_buf_refill(txq->refillq, buf_id);
> + }
> +
> + while (idpf_tx_buf_next(tx_buf) != IDPF_TXBUF_NULL) {
> + u16 buf_id = idpf_tx_buf_next(tx_buf);
> +
> + tx_buf = &txq->tx_buf[buf_id];
> + libeth_tx_complete(tx_buf, &cp);
> + idpf_post_buf_refill(txq->refillq, buf_id);
> + }
> +
> + return true;
This is not a full review.
And I guess this is an artifact of the development of this patch-set.
But the code in this function below this line appears to be unreachable.
Flagged by Smatch.
> +
> tx_buf = &txq->tx_buf[idx];
>
> if (unlikely(tx_buf->type <= LIBETH_SQE_CTX ||
> - idpf_tx_buf_compl_tag(tx_buf) != compl_tag))
> + idpf_tx_buf_compl_tag(tx_buf) != buf_id))
> return false;
>
> if (tx_buf->type == LIBETH_SQE_SKB) {
...