Re: [PATCH] lsusb: Fix USB 3.0 link state reporting.

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

 



On Thu, Nov 08, 2012 at 01:57:04PM -0800, Sarah Sharp wrote:
> The math in the link status reporting is wrong.  The link state is in
> bits 8:5 of the hub port status word, which is split across a char
> array.  Currently, if the link state is 0xb (Loopback mode), the status
> char array will look something like this:
> 
> status[0] = 0110 0000
> status[1] = 0000 0001
> 
> The current math will mask and shift those bits like so:
> 
> (status[0] & 0xe0) >> 5 = 0000 0011
> (status[1] & 0x1) << 4 =  0001 0000
> 
> This sets link_state to 0x13, which is not correct (it should be 0xb).
> This bug will cause valid link states greater than seven (Recovery, Hot
> Reset, Compliance Mode, and Loopback Mode) to not be printed.
> 
> It's important to correctly report Compliance Mode, since some TI USB
> 3.0 host controllers can get "stuck" in Compliance Mode.
> 
> Fix this by left shifting status[1] by 3, not 4.
> 
> Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>

Applied, thanks.

greg k-h
--
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