Re: [PATCH 07/16] i3c: mipi-i3c-hci: Complete transfer lists immediately on error
From: Frank Li
Date: Sun Apr 19 2026 - 22:15:47 EST
On Fri, Apr 17, 2026 at 08:12:46PM +0300, Adrian Hunter wrote:
> On 17/04/2026 11:11, Frank Li wrote:
> > On Thu, Apr 16, 2026 at 08:56:55PM +0300, Adrian Hunter wrote:
> >> In DMA mode, transfer lists are currently completed only when the final
> >> transfer in the list completes. If an earlier transfer fails, the list is
> >> left incomplete and callers wait until timeout.
> >>
> >> There is no need to wait for a timeout, as the completion path in
> >> i3c_hci_process_xfer() already checks for error status. Complete the
> >> transfer list as soon as any transfer in the list reports an error.
> >>
> >> This avoids unnecessary delays and spurious timeouts on error.
> >>
> >> Complete a transfer list completion immediately there is an error.
> >>
> >> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> >> ---
> > ...
> >> struct i3c_dma *dma;
> >> + struct hci_xfer *completing_xfer;
> >
> > Generally, it should be working queue.
> >
> > So working(current)_xfer should be better.
>
> The completing transfer might not be the current transfer.
> This patch is concerned with transfer lists with more than
> one transfer, and an error happens on a transfer that is not
> the last one of the list (the last one is the completing transfer).
The modern module like use term "working queue" and "completed queue".
"completing" is confused, look like dma "working" it.
Frank
>
> >
> > Frank
> >> int ring_number;
> >> int ring_entry;
> >> };
> >> --
> >> 2.51.0
> >>
>