mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
efbd4e721d
This backports a patch from kernel 4.14 to the ath10k-ct version based on kernel 4.13. Some devices are using a user space script to load the calibration data from the flash and this was not trigged any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
105 lines
3.3 KiB
Diff
105 lines
3.3 KiB
Diff
--- 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;
|
|
@@ -900,13 +900,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);
|
|
@@ -959,7 +956,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),
|
|
@@ -967,15 +964,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),
|