From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756165AbbCCMW1 (ORCPT ); Tue, 3 Mar 2015 07:22:27 -0500 Received: from osiris.lip6.fr ([132.227.60.30]:62171 "EHLO osiris.lip6.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755163AbbCCMW0 (ORCPT ); Tue, 3 Mar 2015 07:22:26 -0500 X-pt: osiris.lip6.fr From: Valentin Rothberg To: tglx@linutronix.de, linux-kernel@vger.kernel.org Cc: Valentin Rothberg Subject: [PATCH] request_any_context_irq(): set IRQF_ONESHOT flag to ensure IRQ request Date: Tue, 3 Mar 2015 13:22:17 +0100 Message-Id: <1425385337-21083-1-git-send-email-Valentin.Rothberg@lip6.fr> X-Mailer: git-send-email 1.9.1 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (osiris.lip6.fr [132.227.60.30]); Tue, 03 Mar 2015 13:22:23 +0100 (CET) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci Signed-off-by: Valentin Rothberg --- The function has been added by commit ae731f8d ("genirq: Introduce request_any_context_irq()"), so before "Reject bogus threaded irq requests". LXR gives me less than a dozen of references on this function, so it's likely that this code path has not been executed for a longer while. --- kernel/irq/manage.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index c0a1100..76a1610 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -1597,7 +1597,8 @@ int request_any_context_irq(unsigned int irq, irq_handler_t handler, if (irq_settings_is_nested_thread(desc)) { ret = request_threaded_irq(irq, NULL, handler, - flags, name, dev_id); + flags | IRQF_ONESHOT, name, + dev_id); return !ret ? IRQC_IS_NESTED : ret; } -- 1.9.1