Re: Moxa multi serial driver doesn't pass received chars up

From: Denis Vlasenko
Date: Thu Jun 02 2005 - 07:59:29 EST


On Thursday 02 June 2005 12:20, Denis Vlasenko wrote:
> Hi,
>
> I have to set up 8-port PCI multiport serial card.
> Everything seems okay except for receive side.
>
> I added this to mxser.c: mxser_receive_chars()
> at the bottom:
>
> mxvar_log.rxcnt[info->port] += cnt;
> info->mon_data.rxcnt += cnt;
> info->mon_data.up_rxcnt += cnt;
> spin_unlock_irqrestore(&info->slock, flags);
>
> +if (verbose>1) {
> +int c = cnt;
> +unsigned char *p = tty->flip.char_buf;
> +printk("mxser_receive_chars:");
> +while(c--)
> + printk(" %02x", *p++);
> +printk("\n");
> +}
>
> tty_flip_buffer_push(tty);
> }

No wonder... it directly stuffs chars into flip buffer,
but does _not_ update flip counter!

I am cooking a patch which will use

tty_insert_flip_char(tty, ch, flag);

instead...
--
vda

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/