linux/drivers/tty/hvc
Sam Mendoza-Jonas bbc3dfe880 tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
Commit 2def86a720 ("hvc: Convert to using interrupts instead of opal
events") enabled the use of interrupts in the hvc_driver for OPAL
platforms. However on machines with more than one hvc console, any
console after the first will fail to register an interrupt handler in
notifier_add_irq() since all consoles share the same IRQ number but do
not set the IRQF_SHARED flag:

  genirq: Flags mismatch irq 31. 00000000 (hvc_console) vs. 00000000 (hvc_console)
  hvc_open: request_irq failed with rc -16.

This error propagates up to hvc_open() and the console is closed, but
OPAL will still generate interrupts that are not handled, leading to
rcu_sched stall warnings.

Set IRQF_SHARED when calling request_irq(), allowing additional consoles
to start properly. This is only set for consoles handled by
hvc_opal_probe(), leaving other types unaffected.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-27 12:38:18 +10:00
..
hvc_bfin_jtag.c
hvc_console.c tty: hvc_console: silence unintialized variable warning 2016-04-30 09:26:55 -07:00
hvc_console.h tty/hvc: Use IRQF_SHARED for OPAL hvc consoles 2016-07-27 12:38:18 +10:00
hvc_dcc.c hvc_dcc: don't ignore errors during initialization 2015-10-04 17:49:27 +01:00
hvc_irq.c tty/hvc: Use IRQF_SHARED for OPAL hvc consoles 2016-07-27 12:38:18 +10:00
hvc_iucv.c s390/iucv: do not use arrays as argument 2015-09-21 16:03:04 -07:00
hvc_opal.c tty/hvc: Use IRQF_SHARED for OPAL hvc consoles 2016-07-27 12:38:18 +10:00
hvc_rtas.c drivers/tty/hvc: don't use module_init in non-modular hyp. console code 2014-02-07 08:40:54 -08:00
hvc_tile.c drivers/tty/hvc/hvc_tile.c: properly return -EAGAIN 2015-05-11 11:22:20 -04:00
hvc_udbg.c drivers/tty/hvc: don't use module_init in non-modular hyp. console code 2014-02-07 08:40:54 -08:00
hvc_vio.c drivers/tty: make hvc/hvc_vio.c explicitly non-modular 2016-02-06 23:26:43 -08:00
hvc_xen.c xen: features and fixes for 4.6-rc0 2016-03-22 12:55:17 -07:00
hvcs.c tty: Replace TTY_THROTTLED bit tests with tty_throttled() 2016-04-30 09:26:55 -07:00
hvsi_lib.c tty-hvsi_lib: Deletion of an unnecessary check before the function call "tty_kref_put" 2014-11-26 19:35:49 -08:00
hvsi.c tty: Replace TTY_THROTTLED bit tests with tty_throttled() 2016-04-30 09:26:55 -07:00
Kconfig ARM64: TTY: hvc_dcc: Add support for ARM64 dcc 2015-10-04 17:49:27 +01:00
Makefile tty/hvc: remove celleb-only beat driver 2015-05-10 19:19:06 +02:00