diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2024-04-03 13:13:40 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-04-27 17:13:00 +0200 |
commit | e73fcc50e89f4658ebb10c3f4f54901bfb6628b3 (patch) | |
tree | 5679dab43147ecdf1030f3b6b06cc0d86174196e | |
parent | e4e47e406d74cab601b2ab21ba5e3add811e05ae (diff) | |
download | linux-stable-e73fcc50e89f4658ebb10c3f4f54901bfb6628b3.tar.gz linux-stable-e73fcc50e89f4658ebb10c3f4f54901bfb6628b3.tar.bz2 linux-stable-e73fcc50e89f4658ebb10c3f4f54901bfb6628b3.zip |
Revert "mei: vsc: Call wake_up() in the threaded IRQ handler"
commit e3dc66d998d2b0c2734db9ca1d6c94c97349529a upstream.
This reverts commit 058a38acba15fd8e7b262ec6e17c4204cb15f984.
It's not necessary to avoid a spinlock, a sleeping lock on PREEMPT_RT, in
an interrupt handler as the interrupt handler itself would be called in a
process context if PREEMPT_RT is enabled. So revert the patch.
Cc: stable@vger.kernel.org # for 6.8
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Link: https://lore.kernel.org/r/20240403051341.3534650-1-wentong.wu@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/misc/mei/vsc-tp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/misc/mei/vsc-tp.c b/drivers/misc/mei/vsc-tp.c index 682c62c635b6..03486bebae09 100644 --- a/drivers/misc/mei/vsc-tp.c +++ b/drivers/misc/mei/vsc-tp.c @@ -419,6 +419,8 @@ static irqreturn_t vsc_tp_isr(int irq, void *data) atomic_inc(&tp->assert_cnt); + wake_up(&tp->xfer_wait); + return IRQ_WAKE_THREAD; } @@ -426,8 +428,6 @@ static irqreturn_t vsc_tp_thread_isr(int irq, void *data) { struct vsc_tp *tp = data; - wake_up(&tp->xfer_wait); - if (tp->event_notify) tp->event_notify(tp->event_notify_context); |