diff options
author | Mathias Nyman <mathias.nyman@linux.intel.com> | 2015-10-01 18:40:33 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-04 10:34:17 +0100 |
commit | 3220befddc0da1f4e09fc790a32a9bd8427e8889 (patch) | |
tree | 17562d42e9eba1dbe27cbf4596cb2cfdbd85bd9e | |
parent | 90ec9247808ed6b9f072e2c4021868374b0a6d92 (diff) |
usb: store the new usb 3.1 SuperSpeedPlus device capability descriptor
If a device supports usb 3.1 SupeerSpeedPlus Gen2 speeds it povides
a SuperSpeedPlus device capability descriptor as a part of its
BOS descriptor. If we find one while parsing the BOS then save it
togeter with the other device capabilities found in the BOS
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/core/config.c | 4 | ||||
-rw-r--r-- | include/linux/usb.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index b9ddf0c1ffe5..7caff020106e 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -853,6 +853,10 @@ int usb_get_bos_descriptor(struct usb_device *dev) dev->bos->ss_cap = (struct usb_ss_cap_descriptor *)buffer; break; + case USB_SSP_CAP_TYPE: + dev->bos->ssp_cap = + (struct usb_ssp_cap_descriptor *)buffer; + break; case CONTAINER_ID_TYPE: dev->bos->ss_id = (struct usb_ss_container_id_descriptor *)buffer; diff --git a/include/linux/usb.h b/include/linux/usb.h index 2cbcf8db517a..b9a28074210f 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -328,6 +328,7 @@ struct usb_host_bos { /* wireless cap descriptor is handled by wusb */ struct usb_ext_cap_descriptor *ext_cap; struct usb_ss_cap_descriptor *ss_cap; + struct usb_ssp_cap_descriptor *ssp_cap; struct usb_ss_container_id_descriptor *ss_id; }; |