aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-01-26 12:23:27 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-01-28 15:44:28 -0500
commit0d95521ea74735826cb2e28bebf6a07392c75bfa (patch)
tree593a9acbca2a6246f4244855bc7d4498b6dfa5bd /drivers/net/wireless/ath/ath9k/main.c
parent4d9067405c21e8596087d929f3d858d0aa5002ff (diff)
ath9k: use split rx buffers to get rid of order-1 skb allocations
With this change, less CPU time is spent trying to look for consecutive pages for rx skbs. This also reduces the socket memory required for IP/UDP reassembly. Only two buffers per frame are supported. Frames spanning more buffers will be dropped, but the buffer size is enough to handle the required AMSDU size. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 422be2675a06..23c016a81bcf 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1294,6 +1294,11 @@ static void ath9k_stop(struct ieee80211_hw *hw)
1294 } else 1294 } else
1295 sc->rx.rxlink = NULL; 1295 sc->rx.rxlink = NULL;
1296 1296
1297 if (sc->rx.frag) {
1298 dev_kfree_skb_any(sc->rx.frag);
1299 sc->rx.frag = NULL;
1300 }
1301
1297 /* disable HAL and put h/w to sleep */ 1302 /* disable HAL and put h/w to sleep */
1298 ath9k_hw_disable(ah); 1303 ath9k_hw_disable(ah);
1299 ath9k_hw_configpcipowersave(ah, 1, 1); 1304 ath9k_hw_configpcipowersave(ah, 1, 1);