diff options
author | adrian <adrian@FreeBSD.org> | 2013-05-08 07:30:33 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2013-05-08 07:30:33 +0000 |
commit | 954115da6694572bcccf36d4b4732f245c8376d4 (patch) | |
tree | 844d6bbca9dec522f5e7925c10a76f89f620b52c /sys/dev/ath/if_ath_misc.h | |
parent | 3de8ff346b14df13e27f324ffbba2550d6a81863 (diff) | |
download | FreeBSD-src-954115da6694572bcccf36d4b4732f245c8376d4.zip FreeBSD-src-954115da6694572bcccf36d4b4732f245c8376d4.tar.gz |
Revert a previous commit - this is causing hardware errors.
I'm not sure why this is failing. The holding descriptor should be being
re-read when starting DMA of the next frame. Obviously something here
isn't totally correct.
I'll review the TX queue handling and see if I can figure out why this
is failing. I'll then re-revert this patch out and use the holding
descriptor again.
Diffstat (limited to 'sys/dev/ath/if_ath_misc.h')
-rw-r--r-- | sys/dev/ath/if_ath_misc.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath_misc.h b/sys/dev/ath/if_ath_misc.h index 965ab9f..404d073 100644 --- a/sys/dev/ath/if_ath_misc.h +++ b/sys/dev/ath/if_ath_misc.h @@ -131,10 +131,16 @@ extern void ath_start_task(void *arg, int npending); static inline void ath_tx_kick(struct ath_softc *sc) { + struct ieee80211com *ic = sc->sc_ifp->if_l2com; + IEEE80211_TX_UNLOCK_ASSERT(ic); + ATH_TX_UNLOCK_ASSERT(sc); + + IEEE80211_TX_LOCK(ic); ATH_TX_LOCK(sc); ath_start(sc->sc_ifp); ATH_TX_UNLOCK(sc); + IEEE80211_TX_UNLOCK(ic); } /* |