linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anssi Hannula <anssi.hannula@iki.fi>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oliver@neukum.org>,
	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: Mon, 22 Feb 2010 20:35:35 +0200	[thread overview]
Message-ID: <201002222035.36043.anssi.hannula@iki.fi> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1002221013480.1656-100000@iolanthe.rowland.org>

On maanantai 22 helmikuu 2010 17:28:36 Alan Stern wrote:
> On Mon, 22 Feb 2010, Anssi Hannula wrote:
> > > > If I additionally insert a one-second delay before the fd is closed,
> > > > I get this usbmon log:
> > > > http://stuff.onse.fi/gobi2000/gobi-regression5.mon.log
> > > > 
> > > > The firmware upload is still unsuccessful.
> > > 
> > > If I use the option driver instead of qcserial, the firmware upload is
> > > always successful (without any added delays needed). The usbmon log for
> > > that case can be found here:
> > > http://stuff.onse.fi/gobi2000/gobi-regression6.mon.log
> > 
> > I installed 2.6.31.12 to get a usbmon log with qcserial before the
> > regression as well (without delays, upload successful):
> > http://stuff.onse.fi/gobi2000/gobi-regression7.mon.log
> 
> 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).

Does this mean a tty interface is ill-suited for the microcode upload, and 
instead qcserial should use the kernel's generic microcode upload mechanism or 
the userspace should use libusb to do it?

Any idea what could be causing the hang, then? The WARNING that appears when 
interrupting the hung gobi_loader is for serial_unthrottle() being called 
while usb_serial_port->port.count == 0.

-- 
Anssi Hannula

  reply	other threads:[~2010-02-22 18: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
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 [this message]
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=201002222035.36043.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).