summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2026-06-03 12:07:43 +0300
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2026-06-14 17:21:34 +0200
commit2dbe7832ae9c3026442fe5249a799a2278c0ebb6 (patch)
tree92b802ef3f4a92899591eeaa51aa6bd998e02dea
parentdc8691bf4fc4487e6e0618e43b7abb5ab6408a4c (diff)
downloadlinux-next-2dbe7832ae9c3026442fe5249a799a2278c0ebb6.tar.gz
linux-next-2dbe7832ae9c3026442fe5249a799a2278c0ebb6.zip
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 <adrian.hunter@intel.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260603090754.16252-7-adrian.hunter@intel.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r--drivers/i3c/master/mipi-i3c-hci/dma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/i3c/master/mipi-i3c-hci/dma.c b/drivers/i3c/master/mipi-i3c-hci/dma.c
index ad47bb2890d6..de0f17706ac8 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;