diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-08-23 11:47:48 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-08-23 11:47:48 -0400 |
commit | 81ca2ff9450c2e983ee416eca17ebe6fa9c3da4f (patch) | |
tree | 6e21a27d727481434b58543d8cff960bb7672b53 /drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | |
parent | 4a5a8aa6c966eafc106543bd955ae388230420e5 (diff) | |
parent | 19c361608ce3e73f352e323262f7e0a8264be3af (diff) | |
download | linux-81ca2ff9450c2e983ee416eca17ebe6fa9c3da4f.tar.gz linux-81ca2ff9450c2e983ee416eca17ebe6fa9c3da4f.tar.xz |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc_drv_txrx.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c index e602c9519709..c028df76b564 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c @@ -448,6 +448,7 @@ static void ath9k_htc_tx_process(struct ath9k_htc_priv *priv, struct ieee80211_conf *cur_conf = &priv->hw->conf; bool txok; int slot; + int hdrlen, padsize; slot = strip_drv_header(priv, skb); if (slot < 0) { @@ -504,6 +505,15 @@ send_mac80211: ath9k_htc_tx_clear_slot(priv, slot); + /* Remove padding before handing frame back to mac80211 */ + hdrlen = ieee80211_get_hdrlen_from_skb(skb); + + padsize = hdrlen & 3; + if (padsize && skb->len > hdrlen + padsize) { + memmove(skb->data + padsize, skb->data, hdrlen); + skb_pull(skb, padsize); + } + /* Send status to mac80211 */ ieee80211_tx_status(priv->hw, skb); } |