Re: [PATCH RFC 7/7] xHCI: re-initialize cmd_completion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 04, 2010 at 11:17:18AM +0800, Andiry Xu wrote:
> On Wed, 2010-03-03 at 09:48 -0800, Sarah Sharp wrote:
> > On Tue, Mar 02, 2010 at 06:49:03PM +0800, Libin Yang wrote:
> > > >From a37170e23f1a0dc1fc88ceee305ede6e90de6659 Mon Sep 17 00:00:00 2001
> > > From: Andiry Xu <andiry.xu@xxxxxxx>
> > > Date: Tue, 2 Mar 2010 17:15:36 +0800
> > > Subject: [PATCH 7/7] xHCI: re-initialize cmd_completion
> > > 
> > > When a signal interrupts isoc transfer, the cmd_completion used in
> > > xhci_configure_endpoint() is not re-initialized and the
> > > wait_for_completion_interruptible_timeout() will return failure.
> > > Initialize the cmd_completion in xhci_configure_endpoint().
> > 
> > While I agree with the contents of this patch (thanks for catching
> > this!), I'm a little puzzled by the description.  I didn't see you issue
> > a configure endpoint command as part of an isochronous transfer.  Am I
> > missing something, or did you forget part of the patchset?
> 
> Yes, I do not issue configure endpoint command as part of isoc transfer.
> The command is issued from upper layer, as part of the alt-setting
> re-set.
> 
> When isoc device start/stop isoc transfer, its alt-setting will change.
> usb_hcd_alloc_bandwidth() will be called, then xhci_check_bandwidth()
> and finally xhci_configure_endpoint() called.

So there's a driver that switches alternate settings, issues an
isochronous transfer, and then switches back?  Does it do this for every
isochronous transfer?  That seems very inefficient.  Which driver were
you testing with?

> Cannot say it's a isoc-specific issue, but I reproduce the issue when
> ctrl-c in isoc transfer, so I submit it with isoc patchset.

Ok, how about this description instead:

When a signal interrupts a Configure Endpoint command, the
cmd_completion used in xhci_configure_endpoint() is not re-initialized
and the wait_for_completion_interruptible_timeout() will return
failure.  Initialize the cmd_completion in xhci_configure_endpoint().

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux