On Tue, 23 Sep 2003, Thiemo Seufer wrote: > > Can you please elaborate? tty is expected to be NULL if info->hook is > > not, so the code after the change should not differ effectively -- only a > > useless check is added at the end. Am I missing anything? > > AFAICS the > > while ((read_zsreg(info->zs_channel, R0) & Rx_CH_AV) != 0) { > > loops over the FIFO contents and 'return' discards the remaining > part. The patch made a visible difference for me with some noisy > debug printk()'s in the kernel. Hmm, a coincidence? Without your patch the execution goes as follows: receive_chars() { ... (*info->hook->rx_char)(ch, flag); return; } And after the change it is as follows: receive_chars() { ... (*info->hook->rx_char)(ch, flag); if (tty) tty_flip_buffer_push(tty); return; } and tty is NULL. And I fail to see how it can it make any difference for printk() output -- the code in question is only ever executed for input from an LK201-type keyboard. Maciej -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +