* Stop processing after HAL_EIO; this is what the reference driver does.

* If we hit an empty queue condition (which I haven't yet root caused, grr.)
  .. make sure we release the lock before continuing.
This commit is contained in:
Adrian Chadd 2013-03-27 00:35:45 +00:00
parent 944497f65f
commit b92b5f6e3a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=248779

View File

@ -633,7 +633,7 @@ ath_edma_tx_processq(struct ath_softc *sc, int dosched)
if (status == HAL_EIO) {
device_printf(sc->sc_dev, "%s: invalid TX status?\n",
__func__);
continue;
break;
}
#ifdef ATH_DEBUG_ALQ
@ -676,6 +676,7 @@ ath_edma_tx_processq(struct ath_softc *sc, int dosched)
device_printf(sc->sc_dev, "%s: Q%d: empty?\n",
__func__,
ts.ts_queue_id);
ATH_TXQ_UNLOCK(txq);
continue;
}