Date: Mon, 17 Oct 2011 23:36:29 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r226484 - user/adrian/if_ath_tx/sys/dev/ath Message-ID: <201110172336.p9HNaTnC045398@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Mon Oct 17 23:36:29 2011 New Revision: 226484 URL: http://svn.freebsd.org/changeset/base/226484 Log: Now that I've fixed the issues that I was seeing when the PCU was being kicked, remove all the extra code/comments left over. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Oct 17 22:23:27 2011 (r226483) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Oct 17 23:36:29 2011 (r226484) @@ -4139,38 +4139,11 @@ rx_next: * need to be handled, kick the PCU if there's * been an RXEOL condition. */ - /* - * XXX TODO! - * It is very likely that we're unfortunately - * racing with other places where ath_hal_intrset() - * may be called. It may be that we do need to - * add some more locking (eg the pcu lock from ath9k/ - * reference), or introduce some other way to cope - * with this. - */ if (resched && sc->sc_kickpcu) { CTR0(ATH_KTR_ERR, "ath_rx_proc: kickpcu"); device_printf(sc->sc_dev, "%s: kickpcu; handled %d packets\n", __func__, npkts); -#if 0 - /* - * This re-links all of the descriptors together. - * (Is it possible that somehow, some state/issue - * is leaving us with badly linked descriptors?) - * Is it possible that we're receiving another RXEOL - * _during_ this function? - */ - if (ath_startrecv(sc) != 0) { - if_printf(ifp, - "%s: couldn't restart RX after RXEOL; resetting\n", - __func__); - ath_reset(ifp); - sc->sc_kickpcu = 0; - return; - } -#endif - /* XXX rxslink? */ bf = TAILQ_FIRST(&sc->sc_rxbuf); ath_hal_putrxbuf(ah, bf->bf_daddr); @@ -4178,10 +4151,9 @@ rx_next: ath_mode_init(sc); /* set filters, etc. */ ath_hal_startpcurecv(ah); /* re-enable PCU/DMA engine */ - ATH_LOCK(sc); + ATH_LOCK_ASSERT(sc); ath_hal_intrset(ah, sc->sc_imask); sc->sc_kickpcu = 0; - ATH_UNLOCK(sc); } if (resched && (ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110172336.p9HNaTnC045398>