• Finn Thain's avatar
    m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK · df66834a
    Finn Thain authored
    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: default avatarFinn Thain <fthain@telegraphics.com.au>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    df66834a
head.S 88.4 KB