summaryrefslogtreecommitdiff
path: root/drivers/usb/core
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2025-08-20 17:38:17 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-09-06 15:25:05 +0200
commit030ab58b075c04b5286d2787860373dcc30020c6 (patch)
tree374eada60b2080a9e34d50ab989e3c826dd018a3 /drivers/usb/core
parent970076537efd847c6f74ba9ed888b9cdbf71206e (diff)
downloadlinux-030ab58b075c04b5286d2787860373dcc30020c6.tar.gz
linux-030ab58b075c04b5286d2787860373dcc30020c6.tar.bz2
linux-030ab58b075c04b5286d2787860373dcc30020c6.zip
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 <sakari.ailus@linux.intel.com> Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20250820143824.551777-3-sakari.ailus@linux.intel.com
Diffstat (limited to 'drivers/usb/core')
-rw-r--r--drivers/usb/core/config.c3
1 files changed, 2 insertions, 1 deletions
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);