Hi Finn, On Tue, Dec 6, 2011 at 16:13, Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> wrote: > +static void pmz_interrupt_control(struct uart_pmac_port *uap, int enable) > +{ > + if (enable) { > + uap->curregs[1] |= INT_ALL_Rx | TxINT_ENAB; > + if (!ZS_IS_EXTCLK(uap)) > + uap->curregs[1] |= EXT_INT_ENAB; > + } else { > + uap->curregs[1] &= ~(EXT_INT_ENAB | TxINT_ENAB | RxINT_MASK); Should there be a call to zssync() here? The old code always did that after disabling interrupts. > + } > + write_zsreg(uap, R1, uap->curregs[1]); > +} > + > static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap) > { > struct tty_struct *tty = NULL; > @@ -339,9 +351,7 @@ static struct tty_struct *pmz_receive_ch > > return tty; > flood: > - uap->curregs[R1] &= ~(EXT_INT_ENAB | TxINT_ENAB | RxINT_MASK); > - write_zsreg(uap, R1, uap->curregs[R1]); > - zssync(uap); Cfr. e.g. here. > + pmz_interrupt_control(uap, 0); > pmz_error("pmz: rx irq flood !\n"); > return tty; > } Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html