On Tue, Feb 02, 2021 at 10:01:32PM +0000, Mikolaj Kucharski wrote:
> Hi Marcus,
>
> Below diff makes umb(4) work for me. All good now.
Cool, thanks for testing Mikolaj.
So OK if I commit this fix Edd, Stuart?
Index: dev/usb/usbdi.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdi.c,v
retrieving revision 1.109
diff -u -p -u -p -r1.109 usbdi.c
--- dev/usb/usbdi.c 1 Feb 2021 09:21:51 -0000 1.109
+++ dev/usb/usbdi.c 2 Feb 2021 06:07:41 -0000
@@ -642,6 +642,10 @@ usbd_device2interface_handle(struct usbd
if (dev->cdesc == NULL)
return (USBD_NOT_CONFIGURED);
+ if (ifaceno < dev->cdesc->bNumInterfaces) {
+ *iface = &dev->ifaces[ifaceno];
+ return (USBD_NORMAL_COMPLETION);
+ }
/*
* The correct interface should be at dev->ifaces[ifaceno], but we've
* seen non-compliant devices in the wild which present non-contiguous