From: Sakari Ailus Date: Wed, 20 Aug 2025 14:38:17 +0000 (+0300) Subject: usb: core: Parse eUSB2 companion descriptors for high speed devices only X-Git-Tag: v6.18-rc1~76^2~42^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=030ab58b075c04b5286d2787860373dcc30020c6;p=thirdparty%2Fkernel%2Flinux.git usb: core: Parse eUSB2 companion descriptors for high speed devices only Check that a device is a high-speed one before proceeding to parse the eUSB2 isochronous endpoint companion descriptors. Signed-off-by: Sakari Ailus Acked-by: Mathias Nyman Signed-off-by: Greg Kroah-Hartman Link: https://lore.kernel.org/r/20250820143824.551777-3-sakari.ailus@linux.intel.com --- diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index cda595b4014f..29fcbd6de482 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -507,7 +507,8 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno, } /* Parse a possible eUSB2 periodic endpoint companion descriptor */ - if (bcdUSB == 0x0220 && !le16_to_cpu(d->wMaxPacketSize) && + if (udev->speed == USB_SPEED_HIGH && bcdUSB == 0x0220 && + !le16_to_cpu(d->wMaxPacketSize) && (usb_endpoint_xfer_isoc(d) || usb_endpoint_xfer_int(d))) usb_parse_eusb2_isoc_endpoint_companion(ddev, cfgno, inum, asnum, endpoint, buffer, size);