[PATCH] mailbox: qcom-ipcc: Use generic_handle_irq_safe()

Eric Chanudet posted 1 patch 3 years, 6 months ago
drivers/mailbox/qcom-ipcc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] mailbox: qcom-ipcc: Use generic_handle_irq_safe()
Posted by Eric Chanudet 3 years, 6 months ago
PREEMPT_RT forces qcom-ipcc's handler to be threaded with interrupts
enabled, which triggers a warning in __handle_irq_event_percpu().

Use generic_handle_irq_safe() that can be called with or without
interrupts enabled instead.

Signed-off-by: Eric Chanudet <echanude@redhat.com>
---
 drivers/mailbox/qcom-ipcc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mailbox/qcom-ipcc.c b/drivers/mailbox/qcom-ipcc.c
index 31d58b7d55fe..be803f324a33 100644
--- a/drivers/mailbox/qcom-ipcc.c
+++ b/drivers/mailbox/qcom-ipcc.c
@@ -82,7 +82,7 @@ static irqreturn_t qcom_ipcc_irq_fn(int irq, void *data)
 
 		virq = irq_find_mapping(ipcc->irq_domain, hwirq);
 		writel(hwirq, ipcc->base + IPCC_REG_RECV_SIGNAL_CLEAR);
-		generic_handle_irq(virq);
+		generic_handle_irq_safe(virq);
 	}
 
 	return IRQ_HANDLED;
-- 
2.37.3
Re: [PATCH] mailbox: qcom-ipcc: Use generic_handle_irq_safe()
Posted by Sebastian Andrzej Siewior 3 years, 6 months ago
On 2022-09-09 12:20:43 [-0400], Eric Chanudet wrote:
> PREEMPT_RT forces qcom-ipcc's handler to be threaded with interrupts
> enabled, which triggers a warning in __handle_irq_event_percpu().
> 
> Use generic_handle_irq_safe() that can be called with or without
> interrupts enabled instead.

wouldn't IRQF_NO_THREAD be a better match here?

> Signed-off-by: Eric Chanudet <echanude@redhat.com>

Sebastian
Re: [PATCH] mailbox: qcom-ipcc: Use generic_handle_irq_safe()
Posted by Eric Chanudet 3 years, 6 months ago
On Tue, Sep 13, 2022 at 11:40:09AM +0200, Sebastian Andrzej Siewior wrote:
> On 2022-09-09 12:20:43 [-0400], Eric Chanudet wrote:
> > PREEMPT_RT forces qcom-ipcc's handler to be threaded with interrupts
> > enabled, which triggers a warning in __handle_irq_event_percpu().
> > 
> > Use generic_handle_irq_safe() that can be called with or without
> > interrupts enabled instead.
> 
> wouldn't IRQF_NO_THREAD be a better match here?

Agreed, my apologies for the delay:
https://lore.kernel.org/linux-arm-msm/20221003170849.383005-1-echanude@redhat.com/

Thanks,

-- 
Eric Chanudet