On Wed, 7 Dec 2011 02:13:41 +1100 (EST) Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> wrote:
On most 68k Macs the SCC IRQ is an autovector interrupt and cannot be masked. This can be a problem when pmac_zilog starts up. For example, the serial debugging code in arch/m68k/kernel/head.S may be used beforehand. It disables the SCC interrupts at the chip but doesn't ack them. Then when a pmac_zilog port is opened and SCC chip interrupts become enabled, the machine locks up with "unexpected interrupt" because request_irq() hasn't happened yet. Fix this by setting the interrupt enable bits only after the handler is installed and before it is uninstalled. Also move this bit flipping into a separate pmz_interrupt_control() routine. Replace all instances of these operations with calls to this routine. Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
Nice Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html