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

Bug#738113: linux-image-3.12-1-amd64: regression in xhci_hcd: USB3 doesn't work anymore



On Sat, Feb 08, 2014 at 03:56:31AM +0000, Ben Hutchings wrote:
> On Fri, 2014-02-07 at 21:06 +0100, Andreas Cadhalpun wrote:
> > Package: src:linux
> > Version: 3.12.9-1
> > Severity: important
> > X-Debbugs-CC: Ben Hutchings <ben@decadent.org.uk>
> > 
> > Dear Maintainer,
> > 
> > linux 3.12.9-1 introduced a regression in xhci_hcd: USB3 does not work 
> > any more! (see the Kernel log below)
> > This worked with 3.12.8-1 and still works with 3.13-1~exp1.
> > In the changelog from 3.12.9-1 the only related change seems to be:
> > 
> >    [ Ben Hutchings ]
> >    * xhci: Revert generalised sg support (Closes: #733826, #736274)
> 
> For the benefit of other developers, that change is a revert of commit
> 459d3c146117 ('usb: xhci: Link TRB must not occur within a USB payload
> burst') plus this effective revert of commit fc76051c453b ('USB: XHCI:
> mark no_sg_constraint'):

I hope that's unrelated.  I was effectively going to do the same thing
upstream (except allow the no_sg_constraint to be set on 0.96 and
earlier hosts).

> > [   45.906406] sd 5:0:0:0: [sdb] Attached SCSI removable disk
> > [   46.135625] FAT-fs (sdb1): utf8 is not a recommended IO charset for 
> > FAT filesystems, filesystem will be case sensitive!
> > [   46.138042] FAT-fs (sdb1): Volume was not properly unmounted. Some 
> > data may be corrupt. Please run fsck.
> > [   77.320082] usb 4-1: Disable of device-initiated U1 failed.
> > [   82.320078] usb 4-1: Disable of device-initiated U2 failed.

What does `sudo lspci` show as the manufacturer of your host controller?

> > [   87.692070] xhci_hcd 0000:00:14.0: Timeout while waiting for address 
> > device command
> > [   92.896070] xhci_hcd 0000:00:14.0: Timeout while waiting for address 
> > device command
> > [   93.100052] usb 4-1: device not accepting address 2, error -62
> > [   93.188178] sd 5:0:0:0: [sdb] Unhandled error code
> > [   93.188180] sd 5:0:0:0: [sdb]
> > [   93.188182] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
> > [   93.188183] sd 5:0:0:0: [sdb] CDB:
> > [   93.188184] Read(10): 28 00 00 00 20 01 00 00 f0 00
> > [   93.188189] end_request: I/O error, dev sdb, sector 8193
> > [   93.188195] usb 4-1: USB disconnect, device number 2
> [...]
> 
> Wish I did know.  Other people ran into different (but similarly
> serious) failures as a result of the changes in 3.12, and the consensus
> has been that it would be best to revert those.
> 
> But I've just tried with an xHCI ExpressCard (NEC uPD720200 chip) and
> USB3 SS disk enclosure, and I can see *somehwat* similar failures to
> yours after running bonnie++ for a few seconds.  Haven't used that for a
> while, so I can't say whether it worked any better with the last
> version.

Have you also tried reverting commit
9df89d85b407690afa46ddfbccc80bec6869971d "usbcore: set lpm_capable field
for LPM capable root hubs"?  It enables USB 3.0 Link PM for non-Intel
host controllers, which is not what I intended, and could cause issues
with other host controllers.  A patch to revert that was sent to Greg
last week, but it looks like it hasn't gotten into Linus' tree yet.

Sarah Sharp


Reply to: