USBHID_INTR_IN_DT
[USBHID_INTR_IN_DT] = {
if (sc->sc_xfer[USBHID_INTR_IN_DT] != NULL &&
sc->sc_xfer[USBHID_INTR_IN_DT]->flags_int.started)
sc->sc_xfer[POLL_XFER(USBHID_INTR_IN_DT)]);
sc->sc_config[USBHID_INTR_IN_DT].bufsize = rdesc->isize;
rdesc->rdsize = usbhid_xfer_max_len(sc->sc_xfer[USBHID_INTR_IN_DT]);
if (sc->sc_xfer[USBHID_INTR_IN_DT] == NULL)
sc->sc_xfer_ctx[USBHID_INTR_IN_DT] = (struct usbhid_xfer_ctx) {
usbd_xfer_max_len(sc->sc_xfer[USBHID_INTR_IN_DT]),
sc->sc_xfer_ctx[POLL_XFER(USBHID_INTR_IN_DT)] = (struct usbhid_xfer_ctx) {
usbd_xfer_max_len(sc->sc_xfer[USBHID_INTR_IN_DT]),
usbd_transfer_start(sc->sc_xfer[USBHID_INTR_IN_DT]);
usbd_transfer_start(sc->sc_xfer[POLL_XFER(USBHID_INTR_IN_DT)]);
usbd_transfer_drain(sc->sc_xfer[USBHID_INTR_IN_DT]);
usbd_transfer_drain(sc->sc_xfer[POLL_XFER(USBHID_INTR_IN_DT)]);
usbd_transfer_poll(sc->sc_xfer + USBHID_INTR_IN_DT, 1);
usbd_transfer_poll(sc->sc_xfer + POLL_XFER(USBHID_INTR_IN_DT), 1);
error = usbhid_xfer_check_len(sc, USBHID_INTR_IN_DT, maxlen);
error = usbhid_sync_xfer(sc, USBHID_INTR_IN_DT, &req, buf);