From a8f63a0717f553e0a1b37ee9212fc4cb2a801426 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Tue, 22 Aug 2017 23:59:48 +0200 Subject: mac80211: update to backports-4.14-rc2 This updates mac80211 to backprots-4.14-rc2. This was compile and runtime tested with ath9k, ath10k and b43 with multiple stations and ieee80211w and in different scenarios by many other people. To create the backports-4.14-rc2-1.tar.xz use this repository: https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git from tag v4.14-rc2-1 Then run this: ./gentree.py --git-revision v4.14-rc2 --clean ../backports-4.14-rc2-1 This also adapts the ath10k-ct and mt76 driver to the changed cfg80211 APIs and syncs the nl80211.h file in iw with the new version from backports-4.14-rc2. Signed-off-by: Hauke Mehrtens --- .../ath10k-ct/patches/120-mac80211-4-14-api.patch | 104 +++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 package/kernel/ath10k-ct/patches/120-mac80211-4-14-api.patch (limited to 'package/kernel/ath10k-ct/patches/120-mac80211-4-14-api.patch') diff --git a/package/kernel/ath10k-ct/patches/120-mac80211-4-14-api.patch b/package/kernel/ath10k-ct/patches/120-mac80211-4-14-api.patch new file mode 100644 index 0000000000..032a0bcb7d --- /dev/null +++ b/package/kernel/ath10k-ct/patches/120-mac80211-4-14-api.patch @@ -0,0 +1,104 @@ +--- a/ath10k/htt_rx.c ++++ b/ath10k/htt_rx.c +@@ -642,11 +642,11 @@ static void ath10k_htt_rx_h_rates(struct + sgi = (info3 >> 7) & 1; + + status->rate_idx = mcs; +- status->flag |= RX_FLAG_HT; ++ status->encoding = RX_ENC_HT; + if (sgi) +- status->flag |= RX_FLAG_SHORT_GI; ++ status->enc_flags |= RX_ENC_FLAG_SHORT_GI; + if (bw) +- status->flag |= RX_FLAG_40MHZ; ++ status->bw = RATE_INFO_BW_40; + break; + case HTT_RX_VHT: + case HTT_RX_VHT_WITH_TXBF: +@@ -698,10 +698,10 @@ static void ath10k_htt_rx_h_rates(struct + } + + status->rate_idx = mcs; +- status->vht_nss = nss; ++ status->nss = nss; + + if (sgi) +- status->flag |= RX_FLAG_SHORT_GI; ++ status->enc_flags |= RX_ENC_FLAG_SHORT_GI; + + switch (bw) { + /* 20MHZ */ +@@ -709,18 +709,18 @@ static void ath10k_htt_rx_h_rates(struct + break; + /* 40MHZ */ + case 1: +- status->flag |= RX_FLAG_40MHZ; ++ status->bw = RATE_INFO_BW_40; + break; + /* 80MHZ */ + case 2: +- status->vht_flag |= RX_VHT_FLAG_80MHZ; ++ status->bw = RATE_INFO_BW_80; + break; + case 3: +- status->vht_flag |= RX_VHT_FLAG_160MHZ; ++ status->bw = RATE_INFO_BW_160; + break; + } + +- status->flag |= RX_FLAG_VHT; ++ status->encoding = RX_ENC_VHT; + break; + default: + break; +@@ -883,13 +883,10 @@ static void ath10k_htt_rx_h_ppdu(struct + /* New PPDU starts so clear out the old per-PPDU status. */ + status->freq = 0; + status->rate_idx = 0; +- status->vht_nss = 0; +- status->vht_flag &= ~RX_VHT_FLAG_80MHZ; +- status->flag &= ~(RX_FLAG_HT | +- RX_FLAG_VHT | +- RX_FLAG_SHORT_GI | +- RX_FLAG_40MHZ | +- RX_FLAG_MACTIME_END); ++ status->nss = 0; ++ status->encoding = RX_ENC_LEGACY; ++ status->bw = RATE_INFO_BW_20; ++ status->flag &= ~RX_FLAG_MACTIME_END; + status->flag |= RX_FLAG_NO_SIGNAL_VAL; + + ath10k_htt_rx_h_signal(ar, status, rxd); +@@ -942,7 +939,7 @@ static void ath10k_process_rx(struct ath + *status = *rx_status; + + ath10k_dbg(ar, ATH10K_DBG_DATA, +- "rx skb %p len %u peer %pM %s %s sn %u %s%s%s%s%s%s %srate_idx %u vht_nss %u freq %u band %u flag 0x%llx fcs-err %i mic-err %i amsdu-more %i\n", ++ "rx skb %p len %u peer %pM %s %s sn %u %s%s%s%s%s%s %srate_idx %u vht_nss %u freq %u band %u flag 0x%x fcs-err %i mic-err %i amsdu-more %i\n", + skb, + skb->len, + ieee80211_get_SA(hdr), +@@ -950,15 +947,15 @@ static void ath10k_process_rx(struct ath + is_multicast_ether_addr(ieee80211_get_DA(hdr)) ? + "mcast" : "ucast", + (__le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4, +- status->flag == 0 ? "legacy" : "", +- status->flag & RX_FLAG_HT ? "ht" : "", +- status->flag & RX_FLAG_VHT ? "vht" : "", +- status->flag & RX_FLAG_40MHZ ? "40" : "", +- status->vht_flag & RX_VHT_FLAG_80MHZ ? "80" : "", +- status->vht_flag & RX_VHT_FLAG_160MHZ ? "160" : "", +- status->flag & RX_FLAG_SHORT_GI ? "sgi " : "", ++ (status->encoding == RX_ENC_LEGACY) ? "legacy" : "", ++ (status->encoding == RX_ENC_HT) ? "ht" : "", ++ (status->encoding == RX_ENC_VHT) ? "vht" : "", ++ (status->bw == RATE_INFO_BW_40) ? "40" : "", ++ (status->bw == RATE_INFO_BW_80) ? "80" : "", ++ (status->bw == RATE_INFO_BW_160) ? "160" : "", ++ status->enc_flags & RX_ENC_FLAG_SHORT_GI ? "sgi " : "", + status->rate_idx, +- status->vht_nss, ++ status->nss, + status->freq, + status->band, status->flag, + !!(status->flag & RX_FLAG_FAILED_FCS_CRC), -- cgit v1.2.3