svn commit: r248779 - head/sys/dev/ath

Adrian Chadd adrian at FreeBSD.org
Wed Mar 27 00:35:46 UTC 2013


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;
 		}
 


More information about the svn-src-all mailing list