+++ /dev/null
---- 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);
-@@ -1610,7 +1591,7 @@ static int ath_tx_setup_buffer(struct ie
- bf->bf_frmlen -= padsize;
- }
-
-- if (conf_is_ht(&hw->conf) && !is_pae(skb))
-+ if (conf_is_ht(&hw->conf))
- bf->bf_state.bf_type |= BUF_HT;
-
- bf->bf_flags = setup_tx_flags(sc, skb, txctl->txq);
+++ /dev/null
---- a/net/mac80211/tx.c
-+++ b/net/mac80211/tx.c
-@@ -1135,6 +1135,8 @@ ieee80211_tx_prepare(struct ieee80211_su
- tx->sta = rcu_dereference(sdata->u.vlan.sta);
- if (!tx->sta && sdata->dev->ieee80211_ptr->use_4addr)
- return TX_DROP;
-+ } else if (info->flags & IEEE80211_TX_CTL_INJECTED) {
-+ tx->sta = sta_info_get_bss(sdata, hdr->addr1);
- }
- if (!tx->sta)
- tx->sta = sta_info_get(sdata, hdr->addr1);