mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
ath9k: fix a client mode crash that happens on wpa rekeying
SVN-Revision: 20155
This commit is contained in:
parent
b321fe82d3
commit
a95d43125c
37
package/mac80211/patches/590-ath9k_rekey_crash_fix.patch
Normal file
37
package/mac80211/patches/590-ath9k_rekey_crash_fix.patch
Normal file
@ -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
Block a user