[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 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'):

--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4728,7 +4728,8 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
 	hcd->self.sg_tablesize = ~0;
 
 	/* support to build packet from discontinuous buffers */
-	hcd->self.no_sg_constraint = 1;
+	/* XXX doesn't generally work yet */
+	hcd->self.no_sg_constraint = 0;
 
 	/* XHCI controllers don't stop the ep queue on short packets :| */
 	hcd->self.no_stop_on_short = 1;

> Ben, do you have any idea what went wrong here?
[...]
> ** Kernel log:
> [   43.860304] usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
> [   43.889442] usb 4-1: New USB device found, idVendor=18a5, idProduct=0243
> [   43.889445] usb 4-1: New USB device strings: Mfr=1, Product=2, 
> SerialNumber=3
> [   43.889446] usb 4-1: Product: STORE N GO
> [   43.889448] usb 4-1: Manufacturer: Verbatim
> [   43.889449] usb 4-1: SerialNumber: 070724606F444544
> [   43.986099] usb-storage 4-1:1.0: USB Mass Storage device detected
> [   43.986242] scsi5 : usb-storage 4-1:1.0
> [   43.986969] usbcore: registered new interface driver usb-storage
> [   45.045891] scsi 5:0:0:0: Direct-Access     Verbatim STORE N GO 
>   PMAP PQ: 0 ANSI: 4
> [   45.046088] sd 5:0:0:0: Attached scsi generic sg2 type 0
> [   45.864715] sd 5:0:0:0: [sdb] 30949376 512-byte logical blocks: (15.8 
> GB/14.7 GiB)
> [   45.866798] sd 5:0:0:0: [sdb] Write Protect is off
> [   45.866801] sd 5:0:0:0: [sdb] Mode Sense: 23 00 00 00
> [   45.868882] sd 5:0:0:0: [sdb] No Caching mode page found
> [   45.868885] sd 5:0:0:0: [sdb] Assuming drive cache: write through
> [   45.875188] sd 5:0:0:0: [sdb] No Caching mode page found
> [   45.875191] sd 5:0:0:0: [sdb] Assuming drive cache: write through
> [   45.901304]  sdb: sdb1
> [   45.906398] sd 5:0:0:0: [sdb] No Caching mode page found
> [   45.906403] sd 5:0:0:0: [sdb] Assuming drive cache: write through
> [   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.
> [   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.

Ben.

-- 
Ben Hutchings
For every complex problem
there is a solution that is simple, neat, and wrong.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: