Re: [PATCH 06/16] i3c: mipi-i3c-hci: Call hci_dma_xfer_done() from dequeue path
From: Frank Li
Date: Fri Apr 17 2026 - 03:05:13 EST
On Thu, Apr 16, 2026 at 08:56:54PM +0300, Adrian Hunter wrote:
> hci_dma_dequeue_xfer() relies on state normally updated by the DMA
> interrupt handler. Ensure that state is current by explicitly invoking
> hci_dma_xfer_done() from the dequeue path.
>
> This handles cases where the interrupt handler has not (yet) run.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
> drivers/i3c/master/mipi-i3c-hci/dma.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/i3c/master/mipi-i3c-hci/dma.c b/drivers/i3c/master/mipi-i3c-hci/dma.c
> index c9852b85d6b0..28e4d38f55d3 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/dma.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/dma.c
> @@ -635,6 +635,8 @@ static bool hci_dma_dequeue_xfer(struct i3c_hci *hci,
> }
> }
>
> + hci_dma_xfer_done(hci, rh);
> +
> for (i = 0; i < n; i++) {
> struct hci_xfer *xfer = xfer_list + i;
> int idx = xfer->ring_entry;
> --
> 2.51.0
>