Finn Thain <fthain@xxxxxxxxxxxxxx> writes: > The mitigation was intended to stop the irq completely. That may be > better than a hard lock-up but it turns out that you get a crash anyway > if you're using pmac_zilog as a serial console: > > ttyPZ0: pmz: rx irq flood ! > BUG: spinlock recursion on CPU#0, swapper/0 > > That's because the pr_err() call in pmz_receive_chars() results in > pmz_console_write() attempting to lock a spinlock already locked in > pmz_interrupt(). With CONFIG_DEBUG_SPINLOCK=y, this produces a fatal > BUG splat. The spinlock in question is the one in struct uart_port. > > Even when it's not fatal, the serial port rx function ceases to work. > Also, the iteration limit doesn't play nicely with QEMU, as can be > seen in the bug report linked below. > > A web search for other reports of the error message "pmz: rx irq flood" > didn't produce anything. So I don't think this code is needed any more. > Remove it. Yeah I think you're probably right. I assume you have tested this on an actual pmac, as well as qemu? cheers