Re: xhci: LPM issues using Western Digital harddrive

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

 



On Fri, Sep 28, 2012 at 11:39:48AM -0400, Alan Stern wrote:
> On Fri, 28 Sep 2012, Don Zickus wrote:
> 
> > > Probably the device was already hung.  The log showed that an earlier 
> > > transfer completed with a STALL.  The reason wasn't apparent, although 
> > > a usbmon trace might give a clue.  It might also show why the device 
> > > had to be reset.
> > 
> > Here is the output of 'cat 4u'
> 
> > ffff880240121860 3207118259 S Bo:4:002:3 -115 31 = 55534243 6c000000 00000000 00000600 00000000 00000000 00000000 000000
> > ffff880240121860 3207118359 C Bo:4:002:3 0 31 >
> > ffff880240121860 3207118430 S Bi:4:002:4 -115 13 <
> > ffff880240121860 3207118511 C Bi:4:002:4 0 13 = 55534253 6c000000 00000000 00
> > ffff880240121860 3207127088 S Bo:4:002:3 -115 31 = 55534243 6d000000 00020000 80000ca1 082e0001 00000000 ec000000 000000
> > ffff880240121860 3207127197 C Bo:4:002:3 0 31 >
> > ffff880240122698 3207127238 S Bi:4:002:4 -115 512 <
> > ffff880240122698 3207143925 C Bi:4:002:4 -32 0
> > ffff880240121860 3207144021 S Co:4:002:0 s 02 01 0000 0084 0000 0
> > ffff880240121860 3207220654 C Co:4:002:0 -32 0
> > ffff880240122698 3207220814 S Co:4:001:0 s 23 03 0004 0004 0000 0
> > ffff880240122698 3207226644 C Co:4:001:0 0 0
> 
> This shows that the problem began when the device was sent a command it
> didn't recognize: 0xA1, which is a 12-byte ATA pass-through, in this
> case for an IDENTIFY DEVICE command (0xEC).  Presumably the Western
> Digital device doesn't support ATA pass-through.  The device halted its
> bulk-IN endpoint and then replied with a STALL to the
> Clear-Endpoint-Halt request (which is an invalid response).  This is
> why the reset was tried.

A stall is a valid response, if the device detected an error in the
status phase of the Clear Feature Halt control transfer.  Maybe the link
becomes unstable when LPM is enabled, and that causes transfer issues on
the beginning of some transfers?

I've been running some tests with a couple USB 3.0 devices I have.  A
Pluggable USB 3.0 hard drive seems to work fine with the new LPM code.
However, when I plug it into a VIA USB 3.0 hub and suspend and resume
the system, transfers to the device start to complete with transfer
errors.  The device is reset, LPM is re-enabled, a transfer error
occurs, LPM is disabled, the device is reset, etc, over and over.

I also have the vague recollection that the Intel Windows team was
having issues with devices with very long LPM exit latencies.  Maybe we
need to disable LPM altogether for devices that have a long U2 latency.
I think both the VIA hub and the WD device had pretty long U2 latencies.

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