diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-12-04 22:59:36 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-12-04 22:59:36 +0000 |
commit | 418dc994aea1f35c899c5ed59c9622623b687ea2 (patch) | |
tree | b347dbfbcbb59551b784944ee15eeee95aa705b5 | |
parent | 16ded4ba7c9fb3e1824a63079299000ec1a9a7a1 (diff) |
ath9k: fix length handling of unaggregated frames (might resolve some rts/cts issues)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38995 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | package/kernel/mac80211/patches/300-pending_work.patch | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch index 4532a03d57..b3583a3896 100644 --- a/package/kernel/mac80211/patches/300-pending_work.patch +++ b/package/kernel/mac80211/patches/300-pending_work.patch @@ -2272,7 +2272,18 @@ -EXPORT_SYMBOL(ath9k_hw_wow_enable); --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c -@@ -1786,6 +1786,9 @@ bool ath_drain_all_txq(struct ath_softc +@@ -1276,6 +1276,10 @@ static void ath_tx_fill_desc(struct ath_ + if (!rts_thresh || (len > rts_thresh)) + rts = true; + } ++ ++ if (!aggr) ++ len = fi->framelen; ++ + ath_buf_set_rate(sc, bf, &info, len, rts); + } + +@@ -1786,6 +1790,9 @@ bool ath_drain_all_txq(struct ath_softc if (!ATH_TXQ_SETUP(sc, i)) continue; @@ -2282,7 +2293,7 @@ if (ath9k_hw_numtxpending(ah, sc->tx.txq[i].axq_qnum)) npend |= BIT(i); } -@@ -2749,6 +2752,8 @@ void ath_tx_node_cleanup(struct ath_soft +@@ -2749,6 +2756,8 @@ void ath_tx_node_cleanup(struct ath_soft } } @@ -2291,7 +2302,7 @@ int ath9k_tx99_send(struct ath_softc *sc, struct sk_buff *skb, struct ath_tx_control *txctl) { -@@ -2791,3 +2796,5 @@ int ath9k_tx99_send(struct ath_softc *sc +@@ -2791,3 +2800,5 @@ int ath9k_tx99_send(struct ath_softc *sc return 0; } |