]> git.ipfire.org Git - people/ms/linux.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Jun 2013 19:53:05 +0000 (12:53 -0700)
commitf64747c92f852b35b870408cbc82ffa4f1ce76b8
treee382a7818710ee1759eb002e534e72d0b3ce84dc
parent27a8de81bf1a476a3df6dd548c4925aa87689c92
m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK

commit df66834a43c461de2565c45d815288ba1c0def37 upstream.

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>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/m68k/kernel/head.S