summaryrefslogtreecommitdiffstats
path: root/drivers/tty/tty_port.c
diff options
context:
space:
mode:
authorPhil Elwell <phil@raspberrypi.org>2018-09-12 15:31:56 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-09-18 16:07:25 +0200
commit30ec514d440cf2c472c8e4b0079af2c731f71a3e (patch)
treee8b39ba74d85050770b1ead41c793c7c8e0a947f /drivers/tty/tty_port.c
parent8344498721059754e09d30fe255a12dab8fb03ef (diff)
downloadlinux-stable-30ec514d440cf2c472c8e4b0079af2c731f71a3e.tar.gz
linux-stable-30ec514d440cf2c472c8e4b0079af2c731f71a3e.tar.bz2
linux-stable-30ec514d440cf2c472c8e4b0079af2c731f71a3e.zip
sc16is7xx: Fix for "Unexpected interrupt: 8"
The SC16IS752 has an Enhanced Feature Register which is aliased at the same address as the Interrupt Identification Register; accessing it requires that a magic value is written to the Line Configuration Register. If an interrupt is raised while the EFR is mapped in then the ISR won't be able to access the IIR, leading to the "Unexpected interrupt" error messages. Avoid the problem by claiming a mutex around accesses to the EFR register, also claiming the mutex in the interrupt handler work item (this is equivalent to disabling interrupts to interlock against a non-threaded interrupt handler). See: https://github.com/raspberrypi/linux/issues/2529 Signed-off-by: Phil Elwell <phil@raspberrypi.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/tty_port.c')
0 files changed, 0 insertions, 0 deletions