From: Greg Kroah-Hartman Date: Thu, 7 Dec 2017 12:44:21 +0000 (+0100) Subject: 4.4-stable patches X-Git-Tag: v3.18.87~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d436c08d9e19cf1cdad0fa712ee2b756ad37f859;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: usb-add-usb-3.1-precision-time-measurement-capability-descriptor-support.patch usb-ch9-add-size-macro-for-ssp-dev-cap-descriptor.patch --- diff --git a/queue-4.4/series b/queue-4.4/series index 0d26b9ca3bc..ae7b742b9a4 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -40,6 +40,8 @@ net-fec-fix-multicast-filtering-hardware-setup.patch revert-ocfs2-should-wait-dio-before-inode-lock-in-ocfs2_setattr.patch usb-hub-cycle-hub-power-when-initialization-fails.patch usb-xhci-fix-panic-in-xhci_free_virt_devices_depth_first.patch +usb-add-usb-3.1-precision-time-measurement-capability-descriptor-support.patch +usb-ch9-add-size-macro-for-ssp-dev-cap-descriptor.patch usb-core-add-type-specific-length-check-of-bos-descriptors.patch usb-increase-usbfs-transfer-limit.patch usb-devio-prevent-integer-overflow-in-proc_do_submiturb.patch diff --git a/queue-4.4/usb-add-usb-3.1-precision-time-measurement-capability-descriptor-support.patch b/queue-4.4/usb-add-usb-3.1-precision-time-measurement-capability-descriptor-support.patch new file mode 100644 index 00000000000..6badc5f30d3 --- /dev/null +++ b/queue-4.4/usb-add-usb-3.1-precision-time-measurement-capability-descriptor-support.patch @@ -0,0 +1,65 @@ +From faee822c5a7ab99de25cd34fcde3f8d37b6b9923 Mon Sep 17 00:00:00 2001 +From: Mathias Nyman +Date: Fri, 12 Feb 2016 16:40:14 +0200 +Subject: usb: Add USB 3.1 Precision time measurement capability descriptor support + +From: Mathias Nyman + +commit faee822c5a7ab99de25cd34fcde3f8d37b6b9923 upstream. + +USB 3.1 devices that support precision time measurement have an +additional PTM cabaility descriptor as part of the full BOS descriptor + +Look for this descriptor while parsing the BOS descriptor, and store it in +struct usb_hub_bos if it exists. + +Signed-off-by: Mathias Nyman +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/core/config.c | 3 +++ + include/linux/usb.h | 1 + + include/uapi/linux/usb/ch9.h | 10 ++++++++++ + 3 files changed, 14 insertions(+) + +--- a/drivers/usb/core/config.c ++++ b/drivers/usb/core/config.c +@@ -959,6 +959,9 @@ int usb_get_bos_descriptor(struct usb_de + dev->bos->ss_id = + (struct usb_ss_container_id_descriptor *)buffer; + break; ++ case USB_PTM_CAP_TYPE: ++ dev->bos->ptm_cap = ++ (struct usb_ptm_cap_descriptor *)buffer; + default: + break; + } +--- a/include/linux/usb.h ++++ b/include/linux/usb.h +@@ -330,6 +330,7 @@ struct usb_host_bos { + struct usb_ss_cap_descriptor *ss_cap; + struct usb_ssp_cap_descriptor *ssp_cap; + struct usb_ss_container_id_descriptor *ss_id; ++ struct usb_ptm_cap_descriptor *ptm_cap; + }; + + int __usb_get_extra_descriptor(char *buffer, unsigned size, +--- a/include/uapi/linux/usb/ch9.h ++++ b/include/uapi/linux/usb/ch9.h +@@ -895,6 +895,16 @@ struct usb_ssp_cap_descriptor { + #define USB_SSP_SUBLINK_SPEED_LSM (0xff << 16) /* Lanespeed mantissa */ + } __attribute__((packed)); + ++/* ++ * Precision time measurement capability descriptor: advertised by devices and ++ * hubs that support PTM ++ */ ++#define USB_PTM_CAP_TYPE 0xb ++struct usb_ptm_cap_descriptor { ++ __u8 bLength; ++ __u8 bDescriptorType; ++ __u8 bDevCapabilityType; ++} __attribute__((packed)); + + /*-------------------------------------------------------------------------*/ + diff --git a/queue-4.4/usb-ch9-add-size-macro-for-ssp-dev-cap-descriptor.patch b/queue-4.4/usb-ch9-add-size-macro-for-ssp-dev-cap-descriptor.patch new file mode 100644 index 00000000000..576f23de5b0 --- /dev/null +++ b/queue-4.4/usb-ch9-add-size-macro-for-ssp-dev-cap-descriptor.patch @@ -0,0 +1,41 @@ +From 446fa3a95df1e8b78f25e1babc41e46edd200821 Mon Sep 17 00:00:00 2001 +From: John Youn +Date: Fri, 5 Feb 2016 17:05:12 -0800 +Subject: usb: ch9: Add size macro for SSP dev cap descriptor + +From: John Youn + +commit 446fa3a95df1e8b78f25e1babc41e46edd200821 upstream. + +The SuperspeedPlus Device Capability Descriptor has a variable size +depending on the number of sublink speed attributes. + +This patch adds a macro to calculate that size. The macro takes one +argument, the Sublink Speed Attribute Count (SSAC) as reported by the +descriptor in bmAttributes[4:0]. + +See USB 3.1 9.6.2.5, Table 9-19. + +Signed-off-by: John Youn +Signed-off-by: Felipe Balbi +Signed-off-by: Greg Kroah-Hartman + +--- + include/uapi/linux/usb/ch9.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/include/uapi/linux/usb/ch9.h ++++ b/include/uapi/linux/usb/ch9.h +@@ -906,6 +906,12 @@ struct usb_ptm_cap_descriptor { + __u8 bDevCapabilityType; + } __attribute__((packed)); + ++/* ++ * The size of the descriptor for the Sublink Speed Attribute Count ++ * (SSAC) specified in bmAttributes[4:0]. ++ */ ++#define USB_DT_USB_SSP_CAP_SIZE(ssac) (16 + ssac * 4) ++ + /*-------------------------------------------------------------------------*/ + + /* USB_DT_WIRELESS_ENDPOINT_COMP: companion descriptor associated with diff --git a/queue-4.4/usb-core-add-type-specific-length-check-of-bos-descriptors.patch b/queue-4.4/usb-core-add-type-specific-length-check-of-bos-descriptors.patch index 7e1791dc4be..4595fd1effc 100644 --- a/queue-4.4/usb-core-add-type-specific-length-check-of-bos-descriptors.patch +++ b/queue-4.4/usb-core-add-type-specific-length-check-of-bos-descriptors.patch @@ -99,7 +99,7 @@ Signed-off-by: Greg Kroah-Hartman /* USB 2.0 Extension descriptor */ #define USB_CAP_TYPE_EXT 2 -@@ -991,6 +993,7 @@ enum usb3_link_state { +@@ -1007,6 +1009,7 @@ enum usb3_link_state { USB3_LPM_U3 };