m68k/mac: Add mutual exclusion for IOP interrupt polling
authorFinn Thain <fthain@telegraphics.com.au>
Fri, 27 Oct 2017 02:45:24 +0000 (22:45 -0400)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Thu, 9 Nov 2017 22:02:57 +0000 (23:02 +0100)
commit92178fcabbcd39fc9ccd4e58ec4be83dd5323a46
treee06ac4b6dd750c56f16f8c29e2a58a9eb855da1a
parent8ee90c5c3fd1af8e68133defb15cfc66c1de3f88
m68k/mac: Add mutual exclusion for IOP interrupt polling

The IOP interrupt handler iop_ism_irq() is used by the adb-iop
driver to poll for ADB request completion. Unfortunately, it is not
re-entrant. Fix the race condition by adding an iop_ism_irq_poll()
function with suitable mutual exclusion.

Tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/include/asm/mac_iop.h
arch/m68k/mac/iop.c
drivers/macintosh/adb-iop.c