From: Greg Kroah-Hartman Date: Sun, 7 Jun 2026 15:03:08 +0000 (+0200) Subject: 5.15-stable patches X-Git-Tag: v6.12.93~16 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=b0ea17ae460ce6a9fcaa769960b0722f0bb10330;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch --- diff --git a/queue-5.15/series b/queue-5.15/series index 21131c60d9..e7bdca0a69 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -140,3 +140,4 @@ hid-core-fix-size_t-specifier-in-hid_report_raw_even.patch usb-serial-digi_acceleport-fix-memory-corruption-wit.patch xhci-tegra-fix-ghost-usb-device-on-dual-role-port-un.patch serial-dz-fix-bootconsole-handover-lockup.patch +usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch diff --git a/queue-5.15/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch b/queue-5.15/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch new file mode 100644 index 0000000000..6746c60ce9 --- /dev/null +++ b/queue-5.15/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch @@ -0,0 +1,40 @@ +From d1e280334b7f0a1df441e08bd1f6a1bcc36b3bbb Mon Sep 17 00:00:00 2001 +From: Michal Pecio +Date: Mon, 18 May 2026 07:31:21 +0200 +Subject: usb: core: Fix SuperSpeed root hub wMaxPacketSize + +From: Michal Pecio + +commit d1e280334b7f0a1df441e08bd1f6a1bcc36b3bbb upstream. + +There is no good reason to have wBytesPerInterval < wMaxPacketSize - +either one is too low or the other too high, and we may want to warn +about such descriptors. Start with cleaning up our own root hubs. + +USB 3.2 section 10.15.1 sets wMaxPacketSize and wBytesPerInterval of +SuperSpeed hub status endpoints at 2 bytes, so reduce wMaxPacketSize +from its former value of 4, which was derived from USB 2.0 spec and +the kernel's USB_MAXCHILDREN limit. They don't apply because USB 3.2 +10.15.2.1 specifies SuperSpeed hubs to have up to 15 ports. + +Suggested-by: Mathias Nyman +Signed-off-by: Michal Pecio +Link: https://patch.msgid.link/20260518073121.7bc1da0f.michal.pecio@gmail.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/core/hcd.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/drivers/usb/core/hcd.c ++++ b/drivers/usb/core/hcd.c +@@ -353,9 +353,7 @@ static const u8 ss_rh_config_descriptor[ + USB_DT_ENDPOINT, /* __u8 ep_bDescriptorType; Endpoint */ + 0x81, /* __u8 ep_bEndpointAddress; IN Endpoint 1 */ + 0x03, /* __u8 ep_bmAttributes; Interrupt */ +- /* __le16 ep_wMaxPacketSize; 1 + (MAX_ROOT_PORTS / 8) +- * see hub.c:hub_configure() for details. */ +- (USB_MAXCHILDREN + 1 + 7) / 8, 0x00, ++ 0x02, 0x00, /* __le16 ep_wMaxPacketSize; 2 bytes per USB3 10.15.1 */ + 0x0c, /* __u8 ep_bInterval; (256ms -- usb 2.0 spec) */ + + /* one SuperSpeed endpoint companion descriptor */