diff options
| author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2020-08-19 11:50:12 +0000 |
|---|---|---|
| committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2020-08-19 11:50:12 +0000 |
| commit | 68128138a56c1386196b981668492366fc5332b7 (patch) | |
| tree | c38abba42dde878e6c0f47ede0697c8f1d36d64a /sys/dev/usb/controller | |
| parent | c3b0de2eae951b8318f1b26fa938116c0223c3d9 (diff) | |
Notes
Diffstat (limited to 'sys/dev/usb/controller')
| -rw-r--r-- | sys/dev/usb/controller/xhci.c | 17 | ||||
| -rw-r--r-- | sys/dev/usb/controller/xhci.h | 1 |
2 files changed, 3 insertions, 15 deletions
diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c index e96f910b2cb7c..432c419c1f82c 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -2398,8 +2398,6 @@ xhci_configure_endpoint(struct usb_device *udev, /* store endpoint mode */ pepext->trb_ep_mode = ep_mode; - /* store bMaxPacketSize for control endpoints */ - pepext->trb_ep_maxp = edesc->wMaxPacketSize[0]; usb_pc_cpu_flush(pepext->page_cache); if (ep_mode == USB_EP_MODE_STREAMS) { @@ -2929,17 +2927,6 @@ xhci_transfer_insert(struct usb_xfer *xfer) return (USB_ERR_NOMEM); } - /* check if bMaxPacketSize changed */ - if (xfer->flags_int.control_xfr != 0 && - pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) { - - DPRINTFN(8, "Reconfigure control endpoint\n"); - - /* force driver to reconfigure endpoint */ - pepext->trb_halted = 1; - pepext->trb_running = 0; - } - /* check for stopped condition, after putting transfer on interrupt queue */ if (pepext->trb_running == 0) { struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); @@ -3917,8 +3904,10 @@ xhci_configure_reset_endpoint(struct usb_xfer *xfer) if (!(sc->sc_hw.devs[index].ep_configured & mask)) { sc->sc_hw.devs[index].ep_configured |= mask; err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); - } else { + } else if (epno != 1) { err = xhci_cmd_evaluate_ctx(sc, buf_inp.physaddr, index); + } else { + err = 0; } if (err != 0) { diff --git a/sys/dev/usb/controller/xhci.h b/sys/dev/usb/controller/xhci.h index c0427e0cf11f5..e2c3b887a3387 100644 --- a/sys/dev/usb/controller/xhci.h +++ b/sys/dev/usb/controller/xhci.h @@ -393,7 +393,6 @@ struct xhci_endpoint_ext { uint8_t trb_halted; uint8_t trb_running; uint8_t trb_ep_mode; - uint8_t trb_ep_maxp; }; enum { |
