> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Joshua Hay
> Sent: Friday, July 25, 2025 11:42 AM
> To: [email protected]
> Cc: [email protected]; Hay, Joshua A <[email protected]>;
> Chittim, Madhu <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net v3 3/6] idpf: simplify and fix
> splitq Tx
> packet rollback error path
>
> Move (and rename) the existing rollback logic to singleq.c since that will be
> the
> only consumer. Create a simplified splitq specific rollback function to loop
> through and unmap tx_bufs based on the completion tag.
> This is critical before replacing the Tx buffer ring with the buffer pool
> since the
> previous rollback indexing will not work to unmap the chained buffers from
> the pool.
>
> Cache the next_to_use index before any portion of the packet is put on the
> descriptor ring. In case of an error, the rollback will bump tail to the
> correct
> next_to_use value. Because the splitq path now supports different types of
> context descriptors (and potentially multiple in the future), this will take
> care
> of rolling back any and all context descriptors encoded on the ring for the
> erroneous packet. The previous rollback logic was broken for PTP packets since
> it would not account for the PTP context descriptor.
>
> Fixes: 1a49cf814fe1 ("idpf: add Tx timestamp flows")
> Signed-off-by: Joshua Hay <[email protected]>
> Reviewed-by: Madhu Chittim <[email protected]>
> ---
> 2.39.2
Tested-by: Samuel Salin <[email protected]>