[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110325110200.GF2609@legolas.emea.dhcp.ti.com>
Date: Fri, 25 Mar 2011 13:02:03 +0200
From: Felipe Balbi <balbi@...com>
To: Toby Gray <toby.gray@...lvnc.com>
Cc: stefan.bigler@...mile.com, balbi@...com,
Alan Cox <alan@...rguk.ukuu.org.uk>, Greg KH <greg@...ah.com>,
linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org
Subject: Re: TTY loosing data with u_serial gadget
On Thu, Mar 24, 2011 at 04:15:02PM +0000, Toby Gray wrote:
> On 24/03/2011 15:40, Stefan Bigler wrote:
> >Can you try this:
> >>diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
> >>index 2f119e2..f0b9fb6 100644
> >>--- a/drivers/tty/tty_buffer.c
> >>+++ b/drivers/tty/tty_buffer.c
> >
> >I tried it and the console is working again.
> >There is still an problem on heavy load transfer from host to gadget.
> >I attached the patch to fix also this problem.
> >
> >diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
> >index 8e0f113..95d0a9c 100644
> >--- a/drivers/tty/n_tty.c
> >+++ b/drivers/tty/n_tty.c
> >@@ -1359,6 +1359,7 @@ static unsigned int n_tty_receive_buf(struct
> >tty_struct *tty,
> > memcpy(tty->read_buf + tty->read_head, cp, i);
> > tty->read_head = (tty->read_head + i) &
> >(N_TTY_BUF_SIZE-1);
> > tty->read_cnt += i;
> >+ ret += i;
> > spin_unlock_irqrestore(&tty->read_lock, cpuflags);
> > } else {
> > ret = count;
> >
> >With this patch I was able to transfer gigabytes without lost data.
>
> I can confirm that this combined with the last two patches from
> Felipe Balbi fix all the issues I've had as well and seems stable and
> without loss under fast data transfers.
Great guys, thanks a lot. Here's the final patch with your Tested-bys
--
balbi
View attachment "0001-tty-make-receive_buf-return-the-amout-of-bytes-receiv.diff" of type "text/x-diff" (27236 bytes)
Powered by blists - more mailing lists