From: Greg Kroah-Hartman Date: Sun, 7 Jun 2026 15:02:45 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v6.12.93~17 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=04cb6b8e131f4ad8f0063853c359125e35ac85f0;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch --- diff --git a/queue-5.10/series b/queue-5.10/series index 118a7b988a..5c70e50000 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -120,3 +120,4 @@ xhci-tegra-fix-ghost-usb-device-on-dual-role-port-un.patch serial-dz-fix-bootconsole-handover-lockup.patch page_pool-fix-use-after-free-in-page_pool_recycle_in.patch team-move-team-device-type-change-at-the-end-of-team.patch +usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch diff --git a/queue-5.10/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch b/queue-5.10/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch new file mode 100644 index 0000000000..6746c60ce9 --- /dev/null +++ b/queue-5.10/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 */