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>
This commit is contained in:
parent
a8f28cbebe
commit
94122d1695
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=129840
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user