Commit 53d76c68 authored by Sakari Ailus's avatar Sakari Ailus Committed by Greg Kroah-Hartman
Browse files

usb: core: eUSB2 companion descriptor is for isoc IN endpoints only



The eUSB2 isochronous double bandwidth endpoint descriptor is allowed for
the isochronous IN endpoints, according to the ECN. Do not parse these
descriptors if they are found in interrupt or OUT endpoints.

Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250820143824.551777-4-sakari.ailus@linux.intel.com
parent 030ab58b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -508,8 +508,7 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno,

	/* Parse a possible eUSB2 periodic endpoint companion descriptor */
	if (udev->speed == USB_SPEED_HIGH && bcdUSB == 0x0220 &&
	    !le16_to_cpu(d->wMaxPacketSize) &&
	    (usb_endpoint_xfer_isoc(d) || usb_endpoint_xfer_int(d)))
	    !le16_to_cpu(d->wMaxPacketSize) && usb_endpoint_is_isoc_in(d))
		usb_parse_eusb2_isoc_endpoint_companion(ddev, cfgno, inum, asnum,
							endpoint, buffer, size);