ath9k: fix a client mode crash that happens on wpa rekeying
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20155 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
ff7379f7e8
commit
e100b30753
|
@ -0,0 +1,37 @@
|
||||||
|
--- a/drivers/net/wireless/ath/ath9k/xmit.c
|
||||||
|
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
|
||||||
|
@@ -1353,25 +1353,6 @@ static enum ath9k_pkt_type get_hw_packet
|
||||||
|
return htype;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static bool is_pae(struct sk_buff *skb)
|
||||||
|
-{
|
||||||
|
- struct ieee80211_hdr *hdr;
|
||||||
|
- __le16 fc;
|
||||||
|
-
|
||||||
|
- hdr = (struct ieee80211_hdr *)skb->data;
|
||||||
|
- fc = hdr->frame_control;
|
||||||
|
-
|
||||||
|
- if (ieee80211_is_data(fc)) {
|
||||||
|
- if (ieee80211_is_nullfunc(fc) ||
|
||||||
|
- /* Port Access Entity (IEEE 802.1X) */
|
||||||
|
- (skb->protocol == cpu_to_be16(ETH_P_PAE))) {
|
||||||
|
- return true;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return false;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
static int get_hw_crypto_keytype(struct sk_buff *skb)
|
||||||
|
{
|
||||||
|
struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
|
||||||
|
@@ -1696,7 +1677,7 @@ static void ath_tx_start_dma(struct ath_
|
||||||
|
goto tx_done;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && !is_pae(skb)) {
|
||||||
|
+ if (tx_info->flags & IEEE80211_TX_CTL_AMPDU) {
|
||||||
|
/*
|
||||||
|
* Try aggregation if it's a unicast data frame
|
||||||
|
* and the destination is HT capable.
|
Loading…
Reference in New Issue