]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
accel/amdxdna: Clear mailbox interrupt register during channel creation
authorLizhi Hou <lizhi.hou@amd.com>
Fri, 7 Nov 2025 18:11:15 +0000 (10:11 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 13:02:59 +0000 (14:02 +0100)
[ Upstream commit 6ff9385c07aa311f01f87307e6256231be7d8675 ]

The mailbox interrupt register is not always cleared when a mailbox channel
is created. This can leave stale interrupt states from previous operations.

Fix this by explicitly clearing the interrupt register in the mailbox
channel creation function.

Fixes: b87f920b9344 ("accel/amdxdna: Support hardware mailbox")
Reviewed-by: Maciej Falkowski <maciej.falkowski@linux.intel.com>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://patch.msgid.link/20251107181115.1293158-1-lizhi.hou@amd.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/accel/amdxdna/amdxdna_mailbox.c

index da1ac89bb78f1f03dc5c76a2f81a41ee0656e7f1..6634a4d5717ffbcb32a09bdaaf71583b9b31bcc6 100644 (file)
@@ -513,6 +513,7 @@ xdna_mailbox_create_channel(struct mailbox *mb,
        }
 
        mb_chann->bad_state = false;
+       mailbox_reg_write(mb_chann, mb_chann->iohub_int_addr, 0);
 
        MB_DBG(mb_chann, "Mailbox channel created (irq: %d)", mb_chann->msix_irq);
        return mb_chann;