From: Anssi Hannula <anssi.hannula@iki.fi>
To: Oliver Neukum <oliver@neukum.org>
Cc: Alan Stern <stern@rowland.harvard.edu>,
Matthew Garrett <mjg59@srcf.ucam.org>,
dvomlehn@cisco.com, gregkh@suse.de, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [REGRESSION] "USB: use kfifo to buffer usb-generic serial writes" causes gobi_loader to hang
Date: Sat, 13 Feb 2010 15:35:41 +0200 [thread overview]
Message-ID: <201002131535.42116.anssi.hannula@iki.fi> (raw)
In-Reply-To: <201002130811.36525.oliver@neukum.org>
On lauantai 13 helmikuu 2010 09:11:36 Oliver Neukum wrote:
> Am Samstag, 13. Februar 2010 03:50:04 schrieb Alan Stern:
> > On Sat, 13 Feb 2010, Anssi Hannula wrote:
> > > On 05.02.2010 23:59, Oliver Neukum wrote:
> > > > Am Freitag, 5. Februar 2010 20:58:17 schrieb Matthew Garrett:
> > > >> drivers/usb/serial/usb-serial.c: usb_serial_port_work - port 0
> > > >> drivers/usb/serial/usb-serial.c: serial_write - port 0, 2048 byte(s)
> > > >> drivers/usb/serial/generic.c: usb_serial_generic_write - port 0,
> > > >> 2048 bytes drivers/usb/serial/generic.c: usb_serial_generic_write -
> > > >> put 512 bytes into fifo drivers/usb/serial/usb-serial.c:
> > > >> serial_write - port 0, 1536 byte(s) drivers/usb/serial/generic.c:
> > > >> usb_serial_generic_write - port 0, 1536 bytes
> > > >> drivers/usb/serial/generic.c: usb_serial_generic_write - put 0
> > > >> bytes into fifo drivers/usb/serial/generic.c:
> > > >> usb_serial_generic_write - FIFO is full
> > > >
> > > > OK, could you also get an usbmon trace? This would allow a
> > > > determination whether the submitted URB doesn't finish for some
> > > > reason, or whether no URB is submitted, possibly because a wakeup is
> > > > missed.
> > >
> > > I'm also affected by this regression. Here's an usbmon trace of
> > > gobi_loader hanging:
> > > http://stuff.onse.fi/gobi2000/gobi-regression.mon.log
> >
> > That's odd. The log shows the final bulk-OUT transfer was cancelled
> > after less than 1 ms. Is there a timeout value somewhere that is too
> > small by a factor of 1000?
>
> Neither qcserial nor usb-serial implement timeouts.
> Is it possible that this is caused by user space closing the handle
> causing usb-serial::port_release() to call kill_traffic()?
>
> Anssi, going by your log the last write is quite short and begins
> with 342d3030 39202020 20202020 20202020 801d9b80 02000000 3512dcfe
> 44313032. Does this match with the last part of the firmware you are
> transfering?
Yes. (there are three files, this is the last part of the third file)
> Could you put an "mdelay(500);" at the beginning of
> usb-serial::port_release() and retest?
It seems I can't get that far anymore, it hangs much more early now:
http://stuff.onse.fi/gobi2000/gobi-regression2.mon.log
After interrupting gobi_loader I get a WARNING:
http://stuff.onse.fi/gobi2000/gobi-regression2.warning.log
Trying gobi_loader again immediately, the log is almost empty:
http://stuff.onse.fi/gobi2000/gobi-regression3.mon.log
After reboot I get a similar log as regression2:
http://stuff.onse.fi/gobi2000/gobi-regression4.mon.log
Actually, just now I noticed that the first time I had some extra sleep calls
before starting the firmware upload in gobi_loader, which caused it to
successfully finish (i.e. not hang; I guess somehow I didn't notice it when I
logged the first usbmon.log), but the firmware wasn't still uploaded properly
(that'd be because of the cancelled transfer I guess).
I'll get back to this later today, including testing with mdelay in
port_release with the extra sleep calls in gobi_loader.
--
Anssi Hannula
next prev parent reply other threads:[~2010-02-13 13:35 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-17 2:55 [REGRESSION] "USB: use kfifo to buffer usb-generic serial writes" causes gobi_loader to hang Matthew Garrett
2010-01-17 8:13 ` Marcel Holtmann
2010-01-17 9:14 ` Oliver Neukum
2010-01-18 1:58 ` Matthew Garrett
2010-01-18 17:25 ` Oliver Neukum
2010-01-18 20:14 ` Matthew Garrett
2010-01-19 13:20 ` Oliver Neukum
2010-01-19 13:29 ` Alan Cox
2010-01-19 13:57 ` Oliver Neukum
2010-01-19 14:21 ` Alan Cox
2010-01-19 15:15 ` Oliver Neukum
2010-01-19 14:26 ` Alan Cox
2010-01-19 15:25 ` Johan Hovold
2010-01-19 15:52 ` Johan Hovold
2010-01-19 16:27 ` Alan Cox
2010-01-19 18:44 ` Oliver Neukum
2010-01-19 19:45 ` Johan Hovold
2010-01-28 17:45 ` Greg KH
2010-01-28 18:40 ` Oliver Neukum
2010-01-28 22:32 ` Greg KH
2010-02-03 16:46 ` Matthew Garrett
2010-02-03 17:21 ` Oliver Neukum
2010-02-03 22:37 ` Matthew Garrett
2010-02-03 22:58 ` Oliver Neukum
2010-02-05 19:58 ` Matthew Garrett
2010-02-05 21:35 ` Matthew Garrett
2010-02-08 19:00 ` Oliver Neukum
2010-02-05 21:59 ` Oliver Neukum
2010-02-13 2:09 ` Anssi Hannula
2010-02-13 2:50 ` Alan Stern
2010-02-13 7:11 ` Oliver Neukum
2010-02-13 13:35 ` Anssi Hannula [this message]
2010-02-13 19:01 ` Anssi Hannula
2010-02-15 13:08 ` Oliver Neukum
2010-02-20 16:03 ` Anssi Hannula
2010-02-20 18:19 ` Oliver Neukum
2010-02-21 21:28 ` Alan Stern
2010-02-21 21:42 ` Anssi Hannula
2010-02-21 22:12 ` Oliver Neukum
2010-02-21 23:06 ` Anssi Hannula
2010-02-21 23:13 ` Anssi Hannula
2010-02-21 23:21 ` Anssi Hannula
2010-02-22 15:28 ` Alan Stern
2010-02-22 18:35 ` Anssi Hannula
2010-02-22 19:10 ` Alan Stern
2010-02-22 19:14 ` Matthew Garrett
2010-02-22 20:12 ` Alan Stern
2010-02-24 2:33 ` Anssi Hannula
2010-02-22 19:24 ` Anssi Hannula
2010-02-22 20:10 ` Alan Stern
2010-02-22 21:24 ` Alan Cox
2010-02-22 21:23 ` Matthew Garrett
2010-02-22 23:26 ` Oliver Neukum
2010-02-23 1:55 ` Anssi Hannula
2010-02-21 22:09 ` Oliver Neukum
2010-02-21 21:37 ` Anssi Hannula
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201002131535.42116.anssi.hannula@iki.fi \
--to=anssi.hannula@iki.fi \
--cc=dvomlehn@cisco.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=oliver@neukum.org \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).