]> git.ipfire.org Git - people/arne_f/kernel.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:49:34 +0000 (12:49 -0700)
commit8cfd67a3d001f8f7428c5455b69e177fa8aa31b1
tree1352365fe86de5d076df09f59e381f3acaf5b3d0
parent9771fcbbb0c3f53d87329cddbe1c75e9f5634026
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