On Tue, May 17, 2016 at 05:15:51PM -0700, patrick keshishian wrote: > Greetings, > > I have been looking at uvideo trying to model a new driver I'm > attempting to port over and found a few issues (or what I precive > as issues). > > Since the list likes separate diffs for easier discussion, Here > is my attempt to break them up in four emails. I think, with > exception of one, all should apply and compile individually. > > Here are description of patches in decreasing order of my > confidence in proposing them: > > 1/4: Incorrect enum used for v4l2_buf.flags. > This is a paste error I believe. Very simple diff > > 2/4: Assumption on endpoint index to use in uvideo_vs_open() vs > actual saved endpoint address.
Makes sense. I also would change the following DPRINTF text to remove 'sc->sc_vs_cur->endpoint' since this will be same as 'ed->bEndpointAddress' and also remove 'sc->sc_vs_cur->psize' since this information is already printed in uvideo_vs_set_alt(). I think this check was in from the very beginning before we had implemented a proper set alternate interface function. Index: uvideo.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uvideo.c,v retrieving revision 1.187 diff -u -p -u -p -r1.187 uvideo.c --- uvideo.c 26 May 2016 04:47:08 -0000 1.187 +++ uvideo.c 26 May 2016 20:38:16 -0000 @@ -1817,18 +1817,17 @@ 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)); return (USBD_INVAL); } DPRINTF(1, "%s: open pipe for ", DEVNAME(sc)); - DPRINTF(1, "bEndpointAddress=0x%02x (0x%02x), wMaxPacketSize=%d (%d)\n", + DPRINTF(1, "bEndpointAddress=0x%02x, wMaxPacketSize=%d\n", ed->bEndpointAddress, - sc->sc_vs_cur->endpoint, - UGETW(ed->wMaxPacketSize), - sc->sc_vs_cur->psize); + UGETW(ed->wMaxPacketSize)); error = usbd_open_pipe( sc->sc_vs_cur->ifaceh,