Date: Wed, 27 Mar 2013 00:35:45 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248779 - head/sys/dev/ath Message-ID: <201303270035.r2R0ZjU9076747@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303270035.r2R0ZjU9076747>