[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201002230026.02941.oliver@neukum.org>
Date: Tue, 23 Feb 2010 00:26:02 +0100
From: Oliver Neukum <oliver@...kum.org>
To: Anssi Hannula <anssi.hannula@....fi>
Cc: Alan Stern <stern@...land.harvard.edu>,
Matthew Garrett <mjg59@...f.ucam.org>, dvomlehn@...co.com,
gregkh@...e.de, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [REGRESSION] "USB: use kfifo to buffer usb-generic serial writes" causes gobi_loader to hang
Am Montag, 22. Februar 2010 19:35:35 schrieb Anssi Hannula:
> On maanantai 22 helmikuu 2010 17:28:36 Alan Stern wrote:
> > The major difference between the logs is in the way the data get
> > divided up into packets. In both the successful logs, there are
> > sequences of bulk-OUT packets with lengths like:
> >
> > 44, 1, 15, 1, 13
> >
> > where the unsuccessful transfer just has a single packet of length 74.
> > Also, the successful transfers show a lot of bulk-IN traffic where the
> > unsuccessful transfer doesn't have any. I don't know if that is
> > relevant, however.
> >
> > No other differences stand out.
>
> I guess that would suggest that the device doesn't allow the initialization
> data to be broken into packets arbitrarily (though some differences seem
> allowed, as the windows driver transmits them differently).
Hi,
let's try testing this hypothesis. Can you change the following line in
usb_serial_probe():
if (kfifo_alloc(&port->write_fifo, PAGE_SIZE, GFP_KERNEL))
goto probe_error;
to:
if (kfifo_alloc(&port->write_fifo, 64, GFP_KERNEL))
goto probe_error;
This may shed some light on the behavior.
Regards
Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists