[PATCH] mailbox: omap: Fix mailbox interrupt sharing

Andrew Davis posted 1 patch 1 year, 8 months ago
drivers/mailbox/omap-mailbox.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] mailbox: omap: Fix mailbox interrupt sharing
Posted by Andrew Davis 1 year, 8 months ago
Multiple mailbox users can share one interrupt line. This flag was
mistakenly dropped as part of the FIFO removal. Mark the IRQ as shared.

Reported-by: Beleswar Padhi <b-padhi@ti.com>
Fixes: 3f58c1f4206f ("mailbox: omap: Remove kernel FIFO message queuing")
Signed-off-by: Andrew Davis <afd@ti.com>
---
 drivers/mailbox/omap-mailbox.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c
index 46747559b438f..7a87424657a15 100644
--- a/drivers/mailbox/omap-mailbox.c
+++ b/drivers/mailbox/omap-mailbox.c
@@ -230,7 +230,8 @@ static int omap_mbox_startup(struct omap_mbox *mbox)
 	int ret = 0;
 
 	ret = request_threaded_irq(mbox->irq, NULL, mbox_interrupt,
-				   IRQF_ONESHOT, mbox->name, mbox);
+				   IRQF_SHARED | IRQF_ONESHOT, mbox->name,
+				   mbox);
 	if (unlikely(ret)) {
 		pr_err("failed to register mailbox interrupt:%d\n", ret);
 		return ret;
-- 
2.39.2
Re: [PATCH] mailbox: omap: Fix mailbox interrupt sharing
Posted by Beleswar Prasad Padhi 1 year, 8 months ago
On 11/06/24 22:34, Andrew Davis wrote:
> Multiple mailbox users can share one interrupt line. This flag was
> mistakenly dropped as part of the FIFO removal. Mark the IRQ as shared.
>
> Reported-by: Beleswar Padhi <b-padhi@ti.com>
> Fixes: 3f58c1f4206f ("mailbox: omap: Remove kernel FIFO message queuing")
> Signed-off-by: Andrew Davis <afd@ti.com>
Tested-by: Beleswar Padhi <b-padhi@ti.com>
> ---
>   drivers/mailbox/omap-mailbox.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c
> index 46747559b438f..7a87424657a15 100644
> --- a/drivers/mailbox/omap-mailbox.c
> +++ b/drivers/mailbox/omap-mailbox.c
> @@ -230,7 +230,8 @@ static int omap_mbox_startup(struct omap_mbox *mbox)
>   	int ret = 0;
>   
>   	ret = request_threaded_irq(mbox->irq, NULL, mbox_interrupt,
> -				   IRQF_ONESHOT, mbox->name, mbox);
> +				   IRQF_SHARED | IRQF_ONESHOT, mbox->name,
> +				   mbox);
>   	if (unlikely(ret)) {
>   		pr_err("failed to register mailbox interrupt:%d\n", ret);
>   		return ret;