[PATCH] mailbox: pcc: Remove spurious IRQF_ONESHOT usage

Mark Brown posted 1 patch 3 weeks, 1 day ago
drivers/mailbox/pcc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] mailbox: pcc: Remove spurious IRQF_ONESHOT usage
Posted by Mark Brown 3 weeks, 1 day ago
The PCC code currently specifies IRQF_ONESHOT if the interrupt could
potentially be shared but doesn't actually use request_threaded_irq() and
the interrupt handler does not use IRQ_WAKE_THREAD so IRQF_ONESHOT is
never relevant. Since commit aef30c8d569c ("genirq: Warn about using
IRQF_ONESHOT without a threaded handler") specifying it has resulted in a
WARN_ON(), fix this by removing IRQF_ONESHOT.

Reported-by: Aishwarya TCV <Aishwarya.TCV@arm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 drivers/mailbox/pcc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mailbox/pcc.c b/drivers/mailbox/pcc.c
index ff292b9e0be9..060489e5ae6d 100644
--- a/drivers/mailbox/pcc.c
+++ b/drivers/mailbox/pcc.c
@@ -552,7 +552,7 @@ static int pcc_startup(struct mbox_chan *chan)
 
 	if (pchan->plat_irq > 0) {
 		irqflags = pcc_chan_plat_irq_can_be_shared(pchan) ?
-						IRQF_SHARED | IRQF_ONESHOT : 0;
+						IRQF_SHARED : 0;
 		rc = devm_request_irq(chan->mbox->dev, pchan->plat_irq, pcc_mbox_irq,
 				      irqflags, MBOX_IRQ_NAME, chan);
 		if (unlikely(rc)) {

---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20260115-mailbox-pcc-non-threaded-irq-1ca29631e051

Best regards,
--  
Mark Brown <broonie@kernel.org>
Re: [PATCH] mailbox: pcc: Remove spurious IRQF_ONESHOT usage
Posted by Jassi Brar 2 weeks, 6 days ago
On Fri, Jan 16, 2026 at 8:07 AM Mark Brown <broonie@kernel.org> wrote:
>
> The PCC code currently specifies IRQF_ONESHOT if the interrupt could
> potentially be shared but doesn't actually use request_threaded_irq() and
> the interrupt handler does not use IRQ_WAKE_THREAD so IRQF_ONESHOT is
> never relevant. Since commit aef30c8d569c ("genirq: Warn about using
> IRQF_ONESHOT without a threaded handler") specifying it has resulted in a
> WARN_ON(), fix this by removing IRQF_ONESHOT.
>
> Reported-by: Aishwarya TCV <Aishwarya.TCV@arm.com>
> Signed-off-by: Mark Brown <broonie@kernel.org>
> ---
>  drivers/mailbox/pcc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mailbox/pcc.c b/drivers/mailbox/pcc.c
> index ff292b9e0be9..060489e5ae6d 100644
> --- a/drivers/mailbox/pcc.c
> +++ b/drivers/mailbox/pcc.c
> @@ -552,7 +552,7 @@ static int pcc_startup(struct mbox_chan *chan)
>
>         if (pchan->plat_irq > 0) {
>                 irqflags = pcc_chan_plat_irq_can_be_shared(pchan) ?
> -                                               IRQF_SHARED | IRQF_ONESHOT : 0;
> +                                               IRQF_SHARED : 0;
>                 rc = devm_request_irq(chan->mbox->dev, pchan->plat_irq, pcc_mbox_irq,
>                                       irqflags, MBOX_IRQ_NAME, chan);
>                 if (unlikely(rc)) {
>
> ---
> base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
> change-id: 20260115-mailbox-pcc-non-threaded-irq-1ca29631e051
>
> Best regards,
> --
> Mark Brown <broonie@kernel.org>
>
Applied to mailbox/for-next.
Thanks.
Re: [PATCH] mailbox: pcc: Remove spurious IRQF_ONESHOT usage
Posted by Sudeep Holla 3 weeks, 1 day ago
On Fri, Jan 16, 2026 at 02:07:40PM +0000, Mark Brown wrote:
> The PCC code currently specifies IRQF_ONESHOT if the interrupt could
> potentially be shared but doesn't actually use request_threaded_irq() and
> the interrupt handler does not use IRQ_WAKE_THREAD so IRQF_ONESHOT is
> never relevant. Since commit aef30c8d569c ("genirq: Warn about using
> IRQF_ONESHOT without a threaded handler") specifying it has resulted in a
> WARN_ON(), fix this by removing IRQF_ONESHOT.
>

Looking back, can't think of any reason why we retained IRQF_ONESHOT
when we added IRQF_SHARED. Thanks for spotting and fixing it.

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>

-- 
Regards,
Sudeep
Re: [PATCH] mailbox: pcc: Remove spurious IRQF_ONESHOT usage
Posted by lihuisong (C) 3 weeks, 1 day ago
On 1/16/2026 10:28 PM, Sudeep Holla wrote:
> On Fri, Jan 16, 2026 at 02:07:40PM +0000, Mark Brown wrote:
>> The PCC code currently specifies IRQF_ONESHOT if the interrupt could
>> potentially be shared but doesn't actually use request_threaded_irq() and
>> the interrupt handler does not use IRQ_WAKE_THREAD so IRQF_ONESHOT is
>> never relevant. Since commit aef30c8d569c ("genirq: Warn about using
>> IRQF_ONESHOT without a threaded handler") specifying it has resulted in a
>> WARN_ON(), fix this by removing IRQF_ONESHOT.
>>
> Looking back, can't think of any reason why we retained IRQF_ONESHOT
> when we added IRQF_SHARED. Thanks for spotting and fixing it.
>
> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
The interrupt status of channel is cleared by bit first in pcc_mbox_irq.
And it is a hard irq handler.
Rmoving IRQF_ONESHOT looks good to me. Thanks for fixing it.

Acked-by: lihuisong@huawei.com
>