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) {

...

Reply via email to