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