summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2004-05-29 15:21:33 +0000
committeriedowse <iedowse@FreeBSD.org>2004-05-29 15:21:33 +0000
commit03c4a3a74cff4798be773c0df5590d6093547227 (patch)
tree72eae42004002318f8daf6d046ecaf3356c7a0ea /sys/dev/usb
parent8f6b4aa43171edcf92f16a2c287e4e1d4bc94732 (diff)
downloadFreeBSD-src-03c4a3a74cff4798be773c0df5590d6093547227.zip
FreeBSD-src-03c4a3a74cff4798be773c0df5590d6093547227.tar.gz
In axe_stop(), close the pipes before calling axe_reset(). axe_reset()
changes the device configuration index, which should not be done while there are pipes open. Debugged with help from: Luke Dean <LukeD@pobox.com>
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/if_axe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/usb/if_axe.c b/sys/dev/usb/if_axe.c
index ebd3d2a..e459a5c 100644
--- a/sys/dev/usb/if_axe.c
+++ b/sys/dev/usb/if_axe.c
@@ -1095,8 +1095,6 @@ axe_stop(struct axe_softc *sc)
AXE_LOCK(sc);
- axe_reset(sc);
-
ifp = &sc->arpcom.ac_if;
ifp->if_timer = 0;
@@ -1145,6 +1143,8 @@ axe_stop(struct axe_softc *sc)
sc->axe_ep[AXE_ENDPT_INTR] = NULL;
}
+ axe_reset(sc);
+
/* Free RX resources. */
for (i = 0; i < AXE_RX_LIST_CNT; i++) {
if (sc->axe_cdata.axe_rx_chain[i].axe_buf != NULL) {
OpenPOWER on IntegriCloud