UGL_ENDPT_RX
sc->sc_ed[UGL_ENDPT_RX] = ed->bEndpointAddress;
if (sc->sc_ed[UGL_ENDPT_RX] == 0 || sc->sc_ed[UGL_ENDPT_TX] == 0 ||
sc->sc_ep[UGL_ENDPT_RX] != NULL ||
usbd_clear_endpoint_stall_async(sc->sc_ep[UGL_ENDPT_RX]);
usbd_setup_xfer(c->ugl_xfer, sc->sc_ep[UGL_ENDPT_RX],
if (sc->sc_ep[UGL_ENDPT_RX] == NULL) {
err = usbd_open_pipe(sc->sc_iface, sc->sc_ed[UGL_ENDPT_RX],
USBD_EXCLUSIVE_USE, &sc->sc_ep[UGL_ENDPT_RX]);
usbd_setup_xfer(c->ugl_xfer, sc->sc_ep[UGL_ENDPT_RX],
usbd_clear_endpoint_stall_async(sc->sc_ep[UGL_ENDPT_RX]);
if (sc->sc_ep[UGL_ENDPT_RX] != NULL) {
usbd_close_pipe(sc->sc_ep[UGL_ENDPT_RX]);
sc->sc_ep[UGL_ENDPT_RX] = NULL;