diff options
author | adrian <adrian@FreeBSD.org> | 2011-02-08 12:49:01 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2011-02-08 12:49:01 +0000 |
commit | 44dfaf952a7967d189f26651e2b6a5b528202378 (patch) | |
tree | 1506073f2100e382aec6ebe867a5e03b6a4714d4 /sys/dev/ath/ath_hal/ar5211 | |
parent | 461f2c12fe23d67162780f5c935cc956e24b1f30 (diff) | |
download | FreeBSD-src-44dfaf952a7967d189f26651e2b6a5b528202378.zip FreeBSD-src-44dfaf952a7967d189f26651e2b6a5b528202378.tar.gz |
There's apparently a bug with Merlin (AR9280) and later chipsets where
putting descriptors (not buffers) across a 4k page boundary can cause issues.
I've not seen it in production myself but it apparently can cause problems.
So, in preparation for addressing this workaround, (re)-expose the particular
HAL capability bit which marks whether the chipset has support for cross-4k-
boundary transactions or not.
A subsequent commit will modify the descriptor allocation to avoid allocating
descriptor entries that straddle a 4k page boundary.
Diffstat (limited to 'sys/dev/ath/ath_hal/ar5211')
-rw-r--r-- | sys/dev/ath/ath_hal/ar5211/ar5211_attach.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c b/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c index fe87fce..bace648 100644 --- a/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c +++ b/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c @@ -509,6 +509,8 @@ ar5211FillCapabilityInfo(struct ath_hal *ah) | HAL_INT_TIM ; + pCap->hal4kbSplitTransSupport = AH_TRUE; + /* XXX might be ok w/ some chip revs */ ahpriv->ah_rxornIsFatal = AH_TRUE; return AH_TRUE; |