All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tip-bot2 for Sebastian Andrzej Siewior" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	x86@kernel.org, linux-kernel@vger.kernel.org, maz@kernel.org
Subject: [tip: irq/core] misc: hi6421-spmi-pmic: Use generic_handle_irq_safe().
Date: Wed, 02 Mar 2022 21:35:36 -0000	[thread overview]
Message-ID: <164625693694.16921.15227620434324740318.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20220211181500.1856198-5-bigeasy@linutronix.de>

The following commit has been merged into the irq/core branch of tip:

Commit-ID:     1b9855de1ef4a3f82119f9d8b054a588c7c315fb
Gitweb:        https://git.kernel.org/tip/1b9855de1ef4a3f82119f9d8b054a588c7c315fb
Author:        Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate:    Fri, 11 Feb 2022 19:14:57 +01:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 02 Mar 2022 22:28:50 +01:00

misc: hi6421-spmi-pmic: Use generic_handle_irq_safe().

generic_handle_irq() is invoked from a regular interrupt service
routine. This handler will become a forced-threaded handler on
PREEMPT_RT and will be invoked with enabled interrupts. The
generic_handle_irq() must be invoked with disabled interrupts in order
to avoid deadlocks.

Instead of manually disabling interrupts before invoking use
generic_handle_irq_safe() which can be invoked with enabled and disabled
interrupts.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org> 
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20220211181500.1856198-5-bigeasy@linutronix.de

---
 drivers/misc/hi6421v600-irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/misc/hi6421v600-irq.c b/drivers/misc/hi6421v600-irq.c
index 1c76379..caa3de3 100644
--- a/drivers/misc/hi6421v600-irq.c
+++ b/drivers/misc/hi6421v600-irq.c
@@ -117,8 +117,8 @@ static irqreturn_t hi6421v600_irq_handler(int irq, void *__priv)
 			 * If both powerkey down and up IRQs are received,
 			 * handle them at the right order
 			 */
-			generic_handle_irq(priv->irqs[POWERKEY_DOWN]);
-			generic_handle_irq(priv->irqs[POWERKEY_UP]);
+			generic_handle_irq_safe(priv->irqs[POWERKEY_DOWN]);
+			generic_handle_irq_safe(priv->irqs[POWERKEY_UP]);
 			pending &= ~HISI_IRQ_POWERKEY_UP_DOWN;
 		}
 
@@ -126,7 +126,7 @@ static irqreturn_t hi6421v600_irq_handler(int irq, void *__priv)
 			continue;
 
 		for_each_set_bit(offset, &pending, BITS_PER_BYTE) {
-			generic_handle_irq(priv->irqs[offset + i * BITS_PER_BYTE]);
+			generic_handle_irq_safe(priv->irqs[offset + i * BITS_PER_BYTE]);
 		}
 	}
 

  reply	other threads:[~2022-03-02 21:35 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-11 18:14 [PATCH v4 0/7] Provide and use generic_handle_irq_safe() where appropriate Sebastian Andrzej Siewior
2022-02-11 18:14 ` [PATCH v4 1/7] genirq: Provide generic_handle_irq_safe() Sebastian Andrzej Siewior
2022-02-21 11:19   ` [tip: irq/core] " tip-bot2 for Sebastian Andrzej Siewior
2022-02-11 18:14 ` [PATCH v4 2/7] i2c: core: Use generic_handle_irq_safe() in i2c_handle_smbus_host_notify() Sebastian Andrzej Siewior
2022-02-23 13:21   ` Wolfram Sang
2022-02-25 22:26     ` Sebastian Andrzej Siewior
2022-03-01 15:06       ` Wolfram Sang
2022-02-11 18:14 ` [PATCH v4 3/7] i2c: cht-wc: Use generic_handle_irq_safe() Sebastian Andrzej Siewior
2022-02-23 13:21   ` Wolfram Sang
2022-02-11 18:14 ` [PATCH v4 4/7] misc: hi6421-spmi-pmic: " Sebastian Andrzej Siewior
2022-03-02 21:35   ` tip-bot2 for Sebastian Andrzej Siewior [this message]
2022-02-11 18:14 ` [PATCH v4 5/7] mfd: ezx-pcap: " Sebastian Andrzej Siewior
2022-03-02 21:35   ` [tip: irq/core] " tip-bot2 for Sebastian Andrzej Siewior
2022-02-11 18:14 ` [PATCH v4 6/7] net: usb: lan78xx: " Sebastian Andrzej Siewior
2022-03-02 21:35   ` [tip: irq/core] " tip-bot2 for Sebastian Andrzej Siewior
2022-02-11 18:15 ` [PATCH v4 7/7] staging: greybus: gpio: " Sebastian Andrzej Siewior
2022-03-02 21:35   ` [tip: irq/core] " tip-bot2 for Sebastian Andrzej Siewior
2022-02-15 14:36 ` [PATCH v4 0/7] Provide and use generic_handle_irq_safe() where appropriate Lee Jones
2022-02-15 14:50   ` Sebastian Andrzej Siewior
2022-02-15 15:16     ` Lee Jones
2022-02-15 15:33       ` Sebastian Andrzej Siewior
2022-02-15 15:42         ` Lee Jones
2022-02-15 15:46           ` Sebastian Andrzej Siewior
2022-02-21  9:57           ` Thomas Gleixner
2022-02-21 11:33             ` Thomas Gleixner
2022-02-21 12:38               ` Lee Jones
2022-02-23 13:19               ` Wolfram Sang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=164625693694.16921.15227620434324740318.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=arnd@arndb.de \
    --cc=bigeasy@linutronix.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=mchehab@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.