Author: adrian Date: Wed Mar 27 00:35:45 2013 New Revision: 248779 URL: http://svnweb.freebsd.org/changeset/base/248779
Log: * 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. Modified: head/sys/dev/ath/if_ath_tx_edma.c Modified: head/sys/dev/ath/if_ath_tx_edma.c ============================================================================== --- head/sys/dev/ath/if_ath_tx_edma.c Wed Mar 27 00:15:22 2013 (r248778) +++ head/sys/dev/ath/if_ath_tx_edma.c Wed Mar 27 00:35:45 2013 (r248779) @@ -633,7 +633,7 @@ ath_edma_tx_processq(struct ath_softc *s 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 *s device_printf(sc->sc_dev, "%s: Q%d: empty?\n", __func__, ts.ts_queue_id); + ATH_TXQ_UNLOCK(txq); continue; } _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"