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,