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)
commitdf66834a43c461de2565c45d815288ba1c0def37
treef2c62a298b8ebf095c3de5b4ae164a49ce5db03c
parente4aa937ec75df0eea0bee03bffa3303ad36c986b
m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK

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>
arch/m68k/kernel/head.S