diff options
author | adrian <adrian@FreeBSD.org> | 2015-10-10 00:13:45 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2015-10-10 00:13:45 +0000 |
commit | 8d135240735275b0d2f31b6fdc119fb32ac79117 (patch) | |
tree | a4e8cf35471c0d2a215577b061df1c097f5e26b5 | |
parent | 01da20b0383d8d3526490eee4524441d366f3aa1 (diff) | |
download | FreeBSD-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.c | 2 | ||||
-rw-r--r-- | sys/dev/ath/ath_hal/ar5416/ar5416_attach.c | 8 |
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; |