diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-09-24 15:43:24 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-09-24 15:43:24 +0000 |
commit | d0a48c1d4292773bb676d5eb89c036a19b606bce (patch) | |
tree | 96551678d0fa0a8e552e1b12e7c9a701413a2037 /package/kernel/mac80211/patches/397-ath9k-declare-required-extra-tx-headroom.patch | |
parent | 1898cdc737c0f4e46820c6816f8af9d6578aebf4 (diff) | |
download | upstream-d0a48c1d4292773bb676d5eb89c036a19b606bce.tar.gz upstream-d0a48c1d4292773bb676d5eb89c036a19b606bce.tar.bz2 upstream-d0a48c1d4292773bb676d5eb89c036a19b606bce.zip |
ath9k: fix handling of tx headroom for padding
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Backport of r47042
git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47044 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mac80211/patches/397-ath9k-declare-required-extra-tx-headroom.patch')
-rw-r--r-- | package/kernel/mac80211/patches/397-ath9k-declare-required-extra-tx-headroom.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/397-ath9k-declare-required-extra-tx-headroom.patch b/package/kernel/mac80211/patches/397-ath9k-declare-required-extra-tx-headroom.patch new file mode 100644 index 0000000000..c420d20bae --- /dev/null +++ b/package/kernel/mac80211/patches/397-ath9k-declare-required-extra-tx-headroom.patch @@ -0,0 +1,22 @@ +From: Felix Fietkau <nbd@openwrt.org> +Date: Thu, 24 Sep 2015 16:57:37 +0200 +Subject: [PATCH] ath9k: declare required extra tx headroom + +ath9k inserts padding between the 802.11 header and the data area (to +align it). Since it didn't declare this extra required headroom, this +led to some nasty issues like randomly dropped packets in some setups. + +Cc: stable@vger.kernel.org +Signed-off-by: Felix Fietkau <nbd@openwrt.org> +--- + +--- a/drivers/net/wireless/ath/ath9k/init.c ++++ b/drivers/net/wireless/ath/ath9k/init.c +@@ -867,6 +867,7 @@ static void ath9k_set_hw_capab(struct at + hw->max_rate_tries = 10; + hw->sta_data_size = sizeof(struct ath_node); + hw->vif_data_size = sizeof(struct ath_vif); ++ hw->extra_tx_headroom = 4; + + hw->wiphy->available_antennas_rx = BIT(ah->caps.max_rxchains) - 1; + hw->wiphy->available_antennas_tx = BIT(ah->caps.max_txchains) - 1; |