diff options
author | Michal Kazior <michal.kazior@tieto.com> | 2013-07-22 14:25:28 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2013-07-31 09:00:39 +0300 |
commit | ba0ccd7affd777cb90ad7279de4143663ae4d485 (patch) | |
tree | eedcbb0f400773d8fdcad27419540b73a7b3272b | |
parent | 424121c365aed6ec93bbc8b515548df79c5af61c (diff) | |
download | op-kernel-dev-ba0ccd7affd777cb90ad7279de4143663ae4d485.zip op-kernel-dev-ba0ccd7affd777cb90ad7279de4143663ae4d485.tar.gz |
ath10k: improve tx throughput on slow machines
It is more efficient to move just the 802.11
header instead of the whole payload in most cases.
This has no measurable effect on modern hardware.
It should improve performance by a few percent on
hardware such as an Access Point that have a slow
CPU compared to a typical desktop CPU.
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r-- | drivers/net/wireless/ath/ath10k/mac.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index d0a7761..6e01ef6 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -1406,9 +1406,9 @@ static void ath10k_tx_h_qos_workaround(struct ieee80211_hw *hw, return; qos_ctl = ieee80211_get_qos_ctl(hdr); - memmove(qos_ctl, qos_ctl + IEEE80211_QOS_CTL_LEN, - skb->len - ieee80211_hdrlen(hdr->frame_control)); - skb_trim(skb, skb->len - IEEE80211_QOS_CTL_LEN); + memmove(skb->data + IEEE80211_QOS_CTL_LEN, + skb->data, (void *)qos_ctl - (void *)skb->data); + skb_pull(skb, IEEE80211_QOS_CTL_LEN); } static void ath10k_tx_h_update_wep_key(struct sk_buff *skb) |