summaryrefslogtreecommitdiff
path: root/drivers/ata/libahci_platform.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2022-05-11 13:07:50 +0200
committerThomas Gleixner <tglx@linutronix.de>2022-05-14 17:48:27 +0200
commit21673fcb2532dcd189905ff5a5389eb7dcd0e57a (patch)
tree5d2ccddb028c96dfb4bc1cf33605665796b6ee24 /drivers/ata/libahci_platform.c
parentce4818957fdc5bca57fc2c92b0dfe109d26bcc47 (diff)
downloadlinux-rpi-21673fcb2532dcd189905ff5a5389eb7dcd0e57a.tar.gz
linux-rpi-21673fcb2532dcd189905ff5a5389eb7dcd0e57a.tar.bz2
linux-rpi-21673fcb2532dcd189905ff5a5389eb7dcd0e57a.zip
genirq/irq_sim: Make the irq_work always run in hard irq context
The IRQ simulator uses irq_work to trigger an interrupt. Without the IRQ_WORK_HARD_IRQ flag the irq_work will be performed in thread context on PREEMPT_RT. This causes locking errors later in handle_simple_irq() which expects to be invoked with disabled interrupts. Triggering individual interrupts in hardirq context should not lead to unexpected high latencies since this is also what the hardware controller does. Also it is used as a simulator so... Use IRQ_WORK_INIT_HARD() to carry out the irq_work in hardirq context on PREEMPT_RT. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/YnuZBoEVMGwKkLm+@linutronix.de
Diffstat (limited to 'drivers/ata/libahci_platform.c')
0 files changed, 0 insertions, 0 deletions