From: Greg Kroah-Hartman Date: Sun, 7 Jun 2026 15:03:09 +0000 (+0200) Subject: 6.1-stable patches X-Git-Tag: v6.12.93~15 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=cbf2b18d0fd929ad48fac3aabf5683e953535be3;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch --- diff --git a/queue-6.1/series b/queue-6.1/series index ea14ac5190..bfa0b44c6e 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -187,3 +187,4 @@ netfilter-nf_tables-restore-set-elements-when-delete.patch usb-serial-cypress_m8-fix-memory-corruption-with-sma.patch serial-dz-fix-bootconsole-handover-lockup.patch bpf-bonding-reject-vlan-srcmac-xmit_hash_policy-chan.patch +usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch diff --git a/queue-6.1/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch b/queue-6.1/usb-core-fix-superspeed-root-hub-wmaxpacketsize.patch new file mode 100644 index 0000000000..6746c60ce9 --- /dev/null +++ b/queue-6.1/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 */