From: Adrian Hunter Date: Wed, 3 Jun 2026 09:07:43 +0000 (+0300) Subject: i3c: mipi-i3c-hci: Call hci_dma_xfer_done() from dequeue path X-Git-Tag: v7.2-rc1~72^2~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2dbe7832ae9c3026442fe5249a799a2278c0ebb6;p=thirdparty%2Flinux.git i3c: mipi-i3c-hci: Call hci_dma_xfer_done() from dequeue path 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 Reviewed-by: Frank Li Link: https://patch.msgid.link/20260603090754.16252-7-adrian.hunter@intel.com Signed-off-by: Alexandre Belloni --- diff --git a/drivers/i3c/master/mipi-i3c-hci/dma.c b/drivers/i3c/master/mipi-i3c-hci/dma.c index ad47bb2890d64..de0f17706ac8a 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;