m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK
authorFinn Thain <fthain@telegraphics.com.au>
Wed, 29 May 2013 02:37:17 +0000 (12:37 +1000)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 31 May 2013 08:43:18 +0000 (10:43 +0200)
The present code does not wait for the SCC to finish resetting itself
before trying to initialise the device. The result is that the SCC
interrupt sources become enabled (if they weren't already). This leads to
an early boot crash (unexpected interrupt) given CONFIG_EARLY_PRINTK. Fix
this by adding a delay. A successful reset disables the interrupt sources.

Also, after the reset for channel A setup, the SCC then gets a second
reset for channel B setup which leaves channel A uninitialised again. Fix
this by performing the reset only once.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Cc: stable@vger.kernel.org
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

No differences found