aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/controller
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2020-08-19 11:50:12 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2020-08-19 11:50:12 +0000
commit68128138a56c1386196b981668492366fc5332b7 (patch)
treec38abba42dde878e6c0f47ede0697c8f1d36d64a /sys/dev/usb/controller
parentc3b0de2eae951b8318f1b26fa938116c0223c3d9 (diff)
Notes
Diffstat (limited to 'sys/dev/usb/controller')
-rw-r--r--sys/dev/usb/controller/xhci.c17
-rw-r--r--sys/dev/usb/controller/xhci.h1
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 {