2/4: Assumption on endpoint index to use in uvideo_vs_open() vs actual saved endpoint address.
Index: uvideo.c =================================================================== RCS file: /cvs/obsd/src/sys/dev/usb/uvideo.c,v retrieving revision 1.185 diff -u -p -u -p -r1.185 uvideo.c --- uvideo.c 17 May 2016 08:27:17 -0000 1.185 +++ uvideo.c 17 May 2016 22:53:11 -0000 @@ -1819,7 +1819,8 @@ uvideo_vs_open(struct uvideo_softc *sc) return (error); } - ed = usbd_interface2endpoint_descriptor(sc->sc_vs_cur->ifaceh, 0); + ed = usbd_get_endpoint_descriptor(sc->sc_vs_cur->ifaceh, + sc->sc_vs_cur->endpoint); if (ed == NULL) { printf("%s: no endpoint descriptor for VS iface\n", DEVNAME(sc));