]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mailbox: pcc: Mark Tx as complete in PCC IRQ handler
authorSudeep Holla <sudeep.holla@arm.com>
Thu, 16 Oct 2025 19:08:18 +0000 (20:08 +0100)
committerJassi Brar <jassisinghbrar@gmail.com>
Sun, 18 Jan 2026 20:19:20 +0000 (14:19 -0600)
The PCC IRQ handler clears channel-in-use and notifies clients with
mbox_chan_received_data(), but it does not explicitly mark the
transmit as complete. In IRQ completion mode this could leave Tx complete
waiters hanging or lead to generic timeouts in the mailbox core.

Invoke mbox_chan_txdone() in the IRQ path once the platform has
acknowledged the transfer so the core can wake any waiters and update
state accordingly.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: Adam Young <admiyo@os.amperecomputing.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
drivers/mailbox/pcc.c

index ed4bafdff83876d1c23ab492dd84112c98b28b1a..025c4cdd8d26da59b6f861879f4a4e71dab76594 100644 (file)
@@ -340,6 +340,7 @@ static irqreturn_t pcc_mbox_irq(int irq, void *p)
         */
        pchan->chan_in_use = false;
        mbox_chan_received_data(chan, NULL);
+       mbox_chan_txdone(chan, 0);
 
        pcc_chan_acknowledge(pchan);