Add more status information for SuperSpeedPlus hubs by using the
EXT_PORT_STATUS request to determine the actual link speed ID and number
of lanes that the hub reports it is connected with. This is needed to be
able to figure out the actual connection speed for SuperSpeedPlus
devices.
This requires parsing the BOS prior to the hub information, since we can
only use EXT_PORT_STATUS if the device actually has a SuperSpeedPlus
device capability.
Also fix some issues with the SuperSpeedPlus device capability parsing -
the speed attribute and speed ID counts were off by one, and the minimum
functional speed information is now parsed out.
Add more status information for SuperSpeedPlus hubs by using the EXT_PORT_STATUS request to determine the actual link speed ID and number of lanes that the hub reports it is connected with. This is needed to be able to figure out the actual connection speed for SuperSpeedPlus devices.
This requires parsing the BOS prior to the hub information, since we can only use EXT_PORT_STATUS if the device actually has a SuperSpeedPlus device capability.
Also fix some issues with the SuperSpeedPlus device capability parsing - the speed attribute and speed ID counts were off by one, and the minimum functional speed information is now parsed out.
Signed-off-by: Robert Hancock hancockrwd@gmail.com