summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2015-10-10 00:13:45 +0000
committeradrian <adrian@FreeBSD.org>2015-10-10 00:13:45 +0000
commit8d135240735275b0d2f31b6fdc119fb32ac79117 (patch)
treea4e8cf35471c0d2a215577b061df1c097f5e26b5
parent01da20b0383d8d3526490eee4524441d366f3aa1 (diff)
downloadFreeBSD-src-8d135240735275b0d2f31b6fdc119fb32ac79117.zip
FreeBSD-src-8d135240735275b0d2f31b6fdc119fb32ac79117.tar.gz
Flip on fast frames support for AR5416 and AR9300 series NICs.
This was off because the net80211 aggregation code was using the same state pointers for both fast frames and ampdu tx support which led to some pretty unfortunate panic-y behaviour. Now that net80211 doesn't panic, let's flip this back on. It doesn't (yet) do the horrific sounding thing of A-MPDU aggregates of fast frames; that'll come next. It's a pre-requisite to supporting AMSDU + AMPDU anyway, which actually speeds things up quite considerably (think packing lots of little ACK frames into a single AMSDU.) Tested: * QCA955x SoC, AP mode * AR5416, STA mode * AR9170, STA mode (with local fast frame patches)
-rw-r--r--sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c2
-rw-r--r--sys/dev/ath/ath_hal/ar5416/ar5416_attach.c8
2 files changed, 2 insertions, 8 deletions
diff --git a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
index a446f96..adbef28 100644
--- a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
+++ b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
@@ -2671,7 +2671,7 @@ ar9300_fill_capability_info(struct ath_hal *ah)
p_cap->halBurstSupport = AH_TRUE;
p_cap->halChapTuningSupport = AH_TRUE;
p_cap->halTurboPrimeSupport = AH_TRUE;
- p_cap->halFastFramesSupport = AH_FALSE;
+ p_cap->halFastFramesSupport = AH_TRUE;
p_cap->halTurboGSupport = p_cap->halWirelessModes & HAL_MODE_108G;
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c b/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
index a20499a..4b9ebda 100644
--- a/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
+++ b/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
@@ -937,13 +937,7 @@ ar5416FillCapabilityInfo(struct ath_hal *ah)
pCap->halCompressSupport = AH_FALSE;
pCap->halBurstSupport = AH_TRUE;
- /*
- * This is disabled for now; the net80211 layer needs to be
- * taught when it is and isn't appropriate to enable FF processing
- * with 802.11n NICs (it tries to enable both A-MPDU and
- * fast frames, with very tragic crash-y results.)
- */
- pCap->halFastFramesSupport = AH_FALSE;
+ pCap->halFastFramesSupport = AH_TRUE;
pCap->halChapTuningSupport = AH_TRUE;
pCap->halTurboPrimeSupport = AH_TRUE;
OpenPOWER on IntegriCloud