From dc809fc15f8d7d42ff69889643fc218b83070ec0 Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Sat, 10 Oct 2015 00:13:45 +0000 Subject: [PATCH] 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) --- sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c | 2 +- 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 a446f96e8918..adbef28c6a4c 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 a20499a3c025..4b9ebdafb24d 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;