From: Greg Kroah-Hartman Date: Sun, 7 Jun 2026 15:03:13 +0000 (+0200) Subject: 6.18-stable patches X-Git-Tag: v6.12.93~12 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=64115a0b4ed51292e65c2156dc1e60aedca85b1a;p=thirdparty%2Fkernel%2Fstable-queue.git 6.18-stable patches added patches: usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch --- diff --git a/queue-6.18/series b/queue-6.18/series index ef27d78d09..37f55371f2 100644 --- a/queue-6.18/series +++ b/queue-6.18/series @@ -313,3 +313,4 @@ xhci-tegra-fix-ghost-usb-device-on-dual-role-port-un.patch mailbox-fix-null-message-support-in-mbox_send_message.patch drm-i915-psr-use-dc_off-wake-reference-to-block-dc6-on-vblank-enable.patch thunderbolt-property-cap-recursion-depth-in-__tb_property_parse_dir.patch +usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch diff --git a/queue-6.18/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch b/queue-6.18/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch new file mode 100644 index 0000000000..6ba94a18a5 --- /dev/null +++ b/queue-6.18/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 +@@ -332,9 +332,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 */