]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k_htc: Restore skb headroom when returning skb to mac80211
authorHelmut Schaa <helmut.schaa@googlemail.com>
Fri, 16 Aug 2013 19:39:40 +0000 (21:39 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 22 Aug 2013 18:21:03 +0000 (14:21 -0400)
commit09fbe4878872af735c1499cc8bb907454f02c3c1
tree67a28e76f47d49917ef370b57b362bdaa91727c8
parent3a4792a0911332938bac3851573847121b027377
ath9k_htc: Restore skb headroom when returning skb to mac80211

ath9k_htc adds padding between the 802.11 header and the payload during
TX by moving the header. When handing the frame back to mac80211 for TX
status handling the header is not moved back into its original position.
This can result in a too small skb headroom when entering ath9k_htc
again (due to a soft retransmission for example) causing an
skb_under_panic oops.

Fix this by moving the 802.11 header back into its original position
before returning the frame to mac80211 as other drivers like rt2x00
or ath5k do.

Reported-by: Marc Kleine-Budde <mkl@blackshift.org>
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Tested-by: Marc Kleine-Budde <mkl@blackshift.org>
Signed-off-by: Marc Kleine-Budde <mkl@blackshift.org>
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c