Lines Matching refs:status
94 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
99 if (status->flag & (RX_FLAG_FAILED_FCS_CRC |
118 struct ieee80211_rx_status *status,
127 if (status->chains)
128 len += 4 * hweight8(status->chains);
130 if (status->flag & RX_FLAG_RADIOTAP_VENDOR_DATA)
133 if (ieee80211_have_rx_timestamp(status)) {
141 if (!status->chains)
147 if (status->encoding == RX_ENC_HT) /* HT info */
150 if (status->flag & RX_FLAG_AMPDU_DETAILS) {
155 if (status->encoding == RX_ENC_VHT) {
165 if (status->encoding == RX_ENC_HE &&
166 status->flag & RX_FLAG_RADIOTAP_HE) {
172 if (status->encoding == RX_ENC_HE &&
173 status->flag & RX_FLAG_RADIOTAP_HE_MU) {
179 if (status->flag & RX_FLAG_NO_PSDU)
182 if (status->flag & RX_FLAG_RADIOTAP_LSIG) {
188 if (status->chains) {
190 len += 2 * hweight8(status->chains);
193 if (status->flag & RX_FLAG_RADIOTAP_VENDOR_DATA) {
201 if (status->flag & RX_FLAG_RADIOTAP_HE)
204 if (status->flag & RX_FLAG_RADIOTAP_HE_MU)
207 if (status->flag & RX_FLAG_RADIOTAP_LSIG)
281 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
289 unsigned long chains = status->chains;
295 if (status->flag & RX_FLAG_RADIOTAP_HE) {
298 WARN_ON_ONCE(status->encoding != RX_ENC_HE);
301 if (status->flag & RX_FLAG_RADIOTAP_HE_MU) {
306 if (status->flag & RX_FLAG_RADIOTAP_LSIG) {
311 if (status->flag & RX_FLAG_RADIOTAP_VENDOR_DATA) {
331 if (!status->chains)
344 if (status->flag & RX_FLAG_RADIOTAP_VENDOR_DATA) {
359 if (ieee80211_have_rx_timestamp(status)) {
364 ieee80211_calculate_rx_timestamp(local, status,
374 if (status->flag & (RX_FLAG_FAILED_FCS_CRC | RX_FLAG_FAILED_PLCP_CRC))
376 if (status->enc_flags & RX_ENC_FLAG_SHORTPRE)
381 if (!rate || status->encoding != RX_ENC_LEGACY) {
392 if (status->bw == RATE_INFO_BW_10)
394 else if (status->bw == RATE_INFO_BW_5)
402 put_unaligned_le16(status->freq, pos);
404 if (status->bw == RATE_INFO_BW_10)
406 else if (status->bw == RATE_INFO_BW_5)
409 if (status->band == NL80211_BAND_5GHZ ||
410 status->band == NL80211_BAND_6GHZ)
412 else if (status->encoding != RX_ENC_LEGACY)
425 !(status->flag & RX_FLAG_NO_SIGNAL_VAL)) {
426 *pos = status->signal;
434 if (!status->chains) {
436 *pos = status->antenna;
446 if (status->flag & RX_FLAG_FAILED_PLCP_CRC)
451 if (status->encoding == RX_ENC_HT) {
457 if (status->enc_flags & RX_ENC_FLAG_SHORT_GI)
459 if (status->bw == RATE_INFO_BW_40)
461 if (status->enc_flags & RX_ENC_FLAG_HT_GF)
463 if (status->enc_flags & RX_ENC_FLAG_LDPC)
465 stbc = (status->enc_flags & RX_ENC_FLAG_STBC_MASK) >> RX_ENC_FLAG_STBC_SHIFT;
468 *pos++ = status->rate_idx;
471 if (status->flag & RX_FLAG_AMPDU_DETAILS) {
479 put_unaligned_le32(status->ampdu_reference, pos);
481 if (status->flag & RX_FLAG_AMPDU_LAST_KNOWN)
483 if (status->flag & RX_FLAG_AMPDU_IS_LAST)
485 if (status->flag & RX_FLAG_AMPDU_DELIM_CRC_ERROR)
487 if (status->flag & RX_FLAG_AMPDU_DELIM_CRC_KNOWN)
489 if (status->flag & RX_FLAG_AMPDU_EOF_BIT_KNOWN)
491 if (status->flag & RX_FLAG_AMPDU_EOF_BIT)
495 if (status->flag & RX_FLAG_AMPDU_DELIM_CRC_KNOWN)
496 *pos++ = status->ampdu_delimiter_crc;
502 if (status->encoding == RX_ENC_VHT) {
509 if (status->enc_flags & RX_ENC_FLAG_SHORT_GI)
512 if (status->enc_flags & RX_ENC_FLAG_STBC_MASK)
514 if (status->enc_flags & RX_ENC_FLAG_BF)
518 switch (status->bw) {
532 *pos = (status->rate_idx << 4) | status->nss;
535 if (status->enc_flags & RX_ENC_FLAG_LDPC)
555 put_unaligned_le64(status->device_timestamp, pos);
569 if (status->encoding == RX_ENC_HE &&
570 status->flag & RX_FLAG_RADIOTAP_HE) {
573 if (status->enc_flags & RX_ENC_FLAG_STBC_MASK) {
576 status->enc_flags));
579 he.data6 |= HE_PREP(DATA6_NSTS, status->nss);
590 he.data3 |= HE_PREP(DATA3_DATA_MCS, status->rate_idx);
591 he.data3 |= HE_PREP(DATA3_DATA_DCM, status->he_dcm);
593 !!(status->enc_flags & RX_ENC_FLAG_LDPC));
595 he.data5 |= HE_PREP(DATA5_GI, status->he_gi);
597 switch (status->bw) {
628 status->he_ru + 4);
631 WARN_ONCE(1, "Invalid SU BW %d\n", status->bw);
642 if (status->encoding == RX_ENC_HE &&
643 status->flag & RX_FLAG_RADIOTAP_HE_MU) {
652 if (status->flag & RX_FLAG_NO_PSDU) {
655 *pos++ = status->zero_length_psdu_type;
658 if (status->flag & RX_FLAG_RADIOTAP_LSIG) {
668 *pos++ = status->chain_signal[chain];
672 if (status->flag & RX_FLAG_RADIOTAP_VENDOR_DATA) {
695 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(*origskb);
700 rt_hdrlen = ieee80211_rx_radiotap_hdrlen(local, status, *origskb);
751 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(origskb);
761 if (status->flag & RX_FLAG_RADIOTAP_HE)
764 if (status->flag & RX_FLAG_RADIOTAP_HE_MU)
767 if (status->flag & RX_FLAG_RADIOTAP_LSIG)
770 if (unlikely(status->flag & RX_FLAG_RADIOTAP_VENDOR_DATA)) {
788 if (!(status->flag & RX_FLAG_NO_PSDU)) {
811 if (!local->monitors || (status->flag & RX_FLAG_SKIP_MONITOR)) {
867 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
876 status->rx_flags |= IEEE80211_RX_AMSDU;
1096 struct ieee80211_rx_status *status;
1104 status = IEEE80211_SKB_RXCB(tail);
1105 if (status->flag & RX_FLAG_AMSDU_MORE)
1118 struct ieee80211_rx_status *status;
1133 status = IEEE80211_SKB_RXCB(skb);
1134 status->rx_flags |= IEEE80211_RX_DEFERRED_RELEASE;
1253 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
1323 if (!(status->flag & RX_FLAG_AMSDU_MORE))
1332 if (!(status->flag & RX_FLAG_AMSDU_MORE)) {
1426 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
1428 if (status->flag & RX_FLAG_DUP_VALIDATED)
1452 } else if (!(status->flag & RX_FLAG_AMSDU_MORE)) {
1680 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
1714 !(status->rx_flags & IEEE80211_RX_DEFERRED_RELEASE) &&
1731 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
1755 sta_stats_encode_rate(status);
1767 sta->rx_stats.last_rate = sta_stats_encode_rate(status);
1776 if (!(status->flag & RX_FLAG_NO_SIGNAL_VAL)) {
1777 sta->rx_stats.last_signal = status->signal;
1778 ewma_signal_add(&sta->rx_stats_avg.signal, -status->signal);
1781 if (status->chains) {
1782 sta->rx_stats.chains = status->chains;
1783 for (i = 0; i < ARRAY_SIZE(status->chain_signal); i++) {
1784 int signal = status->chain_signal[i];
1786 if (!(status->chains & BIT(i)))
1808 !(status->rx_flags & IEEE80211_RX_DEFERRED_RELEASE) &&
1898 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
1948 !(status->flag & RX_FLAG_IV_STRIPPED)) {
1964 if ((status->flag & RX_FLAG_DECRYPTED) &&
1965 (status->flag & RX_FLAG_IV_STRIPPED))
1972 if ((status->flag & RX_FLAG_DECRYPTED) &&
1973 (status->flag & RX_FLAG_IV_STRIPPED))
1991 if ((status->flag & RX_FLAG_DECRYPTED) &&
1992 (status->flag & RX_FLAG_IV_STRIPPED))
2052 if ((status->flag & RX_FLAG_DECRYPTED) &&
2053 (status->flag & RX_FLAG_IV_STRIPPED))
2128 status->flag |= RX_FLAG_DECRYPTED;
2244 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
2303 (status->flag & RX_FLAG_DECRYPTED))) {
2350 !(status->flag & RX_FLAG_DECRYPTED)) ||
2359 (status->flag & RX_FLAG_DECRYPTED)) {
2406 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
2412 if (status->flag & RX_FLAG_DECRYPTED)
2452 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
2459 if (status->flag & RX_FLAG_DECRYPTED)
2577 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
2578 bool noencrypt = !(status->flag & RX_FLAG_DECRYPTED);
2780 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
2784 if (!(status->rx_flags & IEEE80211_RX_AMSDU))
3175 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
3197 !(status->flag & RX_FLAG_NO_SIGNAL_VAL))
3198 sig = status->signal;
3202 ieee80211_rx_status_to_khz(status),
3219 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
3284 sband = rx->local->hw.wiphy->bands[status->band];
3318 sband = rx->local->hw.wiphy->bands[status->band];
3420 if (status->band != NL80211_BAND_5GHZ)
3497 status->rx_flags |= IEEE80211_RX_MALFORMED_ACTION_FRM;
3518 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
3522 if (status->rx_flags & IEEE80211_RX_MALFORMED_ACTION_FRM)
3533 !(status->flag & RX_FLAG_NO_SIGNAL_VAL))
3534 sig = status->signal;
3537 ieee80211_rx_status_to_khz(status), sig,
3590 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
3605 if (!(status->rx_flags & IEEE80211_RX_MALFORMED_ACTION_FRM) &&
3640 status->band);
3735 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
3751 status->flag &= ~RX_FLAG_RADIOTAP_VENDOR_DATA;
3753 needed_headroom = ieee80211_rx_radiotap_hdrlen(local, status, skb);
3810 struct ieee80211_rx_status *status;
3812 status = IEEE80211_SKB_RXCB((rx->skb));
3814 sband = rx->local->hw.wiphy->bands[status->band];
3815 if (status->encoding == RX_ENC_LEGACY)
3816 rate = &sband->bitrates[status->rate_idx];
4051 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
4081 if (status->encoding != RX_ENC_LEGACY)
4084 rate_idx = status->rate_idx;
4101 if (status->encoding != RX_ENC_LEGACY)
4104 rate_idx = status->rate_idx;
4361 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
4383 if (!(status->flag & RX_FLAG_DUP_VALIDATED))
4393 (status->flag & FAST_RX_CRYPT_FLAGS) != FAST_RX_CRYPT_FLAGS)
4422 if (fast_rx->key && !(status->flag & RX_FLAG_IV_STRIPPED)) {
4427 if (!(status->rx_flags & IEEE80211_RX_AMSDU)) {
4448 if (rx->key && !(status->flag & RX_FLAG_MIC_STRIPPED) &&
4453 if (!(status->flag & RX_FLAG_NO_SIGNAL_VAL)) {
4454 stats->last_signal = status->signal;
4457 -status->signal);
4460 if (status->chains) {
4463 stats->chains = status->chains;
4464 for (i = 0; i < ARRAY_SIZE(status->chain_signal); i++) {
4465 int signal = status->chain_signal[i];
4467 if (!(status->chains & BIT(i)))
4481 if (status->rx_flags & IEEE80211_RX_AMSDU) {
4490 stats->last_rate = sta_stats_encode_rate(status);
4745 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
4749 if (WARN_ON(status->band >= NUM_NL80211_BANDS))
4752 sband = local->hw.wiphy->bands[status->band];
4777 if (likely(!(status->flag & RX_FLAG_FAILED_PLCP_CRC))) {
4783 switch (status->encoding) {
4795 if (WARN(status->rate_idx > 76,
4797 "status->rate_idx is not "
4799 status->rate_idx,
4800 status->rate_idx))
4804 if (WARN_ONCE(status->rate_idx > 11 ||
4805 !status->nss ||
4806 status->nss > 8,
4808 status->rate_idx, status->nss))
4812 if (WARN_ONCE(status->rate_idx > 11 ||
4813 !status->nss ||
4814 status->nss > 8,
4816 status->rate_idx, status->nss))
4823 if (WARN_ON(status->rate_idx >= sband->n_bitrates))
4825 rate = &sband->bitrates[status->rate_idx];
4829 status->rx_flags = 0;