summaryrefslogtreecommitdiffstats
path: root/arch/m68k/include/asm
diff options
context:
space:
mode:
authorFinn Thain <fthain@telegraphics.com.au>2020-05-20 14:32:02 +1000
committerGeert Uytterhoeven <geert@linux-m68k.org>2020-05-25 10:55:56 +0200
commitb2003c7a811c765f18d1495c01251c20f9e6c93a (patch)
treeb65d50ee656b87f5246472ca3082ee865491ca02 /arch/m68k/include/asm
parentbf6c68ead314bd2339aea84d77bacada03df757a (diff)
downloadlinux-b2003c7a811c765f18d1495c01251c20f9e6c93a.tar.bz2
m68k: mac: Avoid stuck ISM IOP interrupt on Quadra 900/950
On a Quadra 900/950, the ISM IOP IRQ output pin is connected to an edge-triggered input on VIA2. It is theoretically possible that this signal could fail to produce the expected VIA2 interrupt. The two IOP interrupt flags can be asserted in any order but the logic in iop_ism_irq() does not allow for that. In particular, INT0 can be asserted right after INT0 is checked and before INT1 is cleared. Such an interrupt would produce no new edge and VIA2 would detect no further interrupts from the IOP. Avoid this by looping over the INT0/1 handlers so an edge can be produced. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Tested-by: Stan Johnson <userm57@yahoo.com> Cc: Joshua Thompson <funaho@jurai.org> Link: https://lore.kernel.org/r/bfbb71db52c5e162d3afa25a28fc5d535ca87138.1589949122.git.fthain@telegraphics.com.au Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k/include/asm')
0 files changed, 0 insertions, 0 deletions