All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: linux-usb@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH 1/7] Revert "usb/uas: make sure data urb is gone if we receive status before that"
Date: Wed, 20 Jun 2012 16:56:26 -0700	[thread overview]
Message-ID: <20120620235626.GC31520@kroah.com> (raw)
In-Reply-To: <1340092494-18876-2-git-send-email-kraxel@redhat.com>

On Tue, Jun 19, 2012 at 09:54:48AM +0200, Gerd Hoffmann wrote:
> This reverts commit e4d8318a85779b25b880187b1b1c44e797bd7d4b.
> 
> This patch makes uas.c call usb_unlink_urb on data urbs.  The data urbs
> get freed in the completion callback.  This is illegal according to the
> usb_unlink_urb documentation.
> 
> This patch also makes the code expect the data completion callback
> being called before the status completion callback.  This isn't
> guaranteed to be the case, even though the actual data transfer should
> be finished by the time the status is received.
> 
> Background:  The ehci irq handler for example only know that there are
> finished transfers, it then has go check the QHs & TDs to see which
> transfers did actually finish.  It has no way to figure in which order
> the transfers did complete.  The xhci driver can call the callbacks in
> completion order thanks to the event queue.  This does nicely explain
> why the driver is solid on a (usb2) xhci port whereas it goes crazy on
> ehci in my testing.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---

Should this revert also go into 3.4-stable so that the device will work
properly on ehci?

thanks,

greg k-h

  reply	other threads:[~2012-06-20 23:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-19  7:54 [PATCH 0/7] uas: various fixes, add error handling Gerd Hoffmann
     [not found] ` <1340092494-18876-1-git-send-email-kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-06-19  7:54   ` [PATCH 1/7] Revert "usb/uas: make sure data urb is gone if we receive status before that" Gerd Hoffmann
2012-06-20 23:56     ` Greg KH [this message]
     [not found]       ` <20120620235626.GC31520-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-06-21  8:27         ` Gerd Hoffmann
2012-06-19  7:54   ` [PATCH 2/7] Revert "usb/uas: one only one status URB/host on stream-less connection" Gerd Hoffmann
     [not found]     ` <1340092494-18876-3-git-send-email-kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-06-20 23:56       ` Greg KH
2012-06-21  8:41         ` Gerd Hoffmann
2012-06-25 18:49           ` Greg KH
2012-06-19  7:54   ` [PATCH 3/7] uas: fix sense urb handling Gerd Hoffmann
2012-06-19  7:54   ` [PATCH 7/7] uas: task mgmt & error handling Gerd Hoffmann
2012-06-19  7:54 ` [PATCH 4/7] uas: keep track of command state, finish scsi cmd when really done Gerd Hoffmann
2012-06-19  7:54 ` [PATCH 5/7] uas: improve error handling Gerd Hoffmann
2012-06-19  7:54 ` [PATCH 6/7] uas: track urbs, kill inflight urbs on disconnect Gerd Hoffmann

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=20120620235626.GC31520@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=kraxel@redhat.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.