Lines Matching refs:info

25 	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
29 skb_queue_tail(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS ?
47 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
51 if (info->flags & (IEEE80211_TX_CTL_NO_PS_BUFFER |
66 memset(&info->control, 0, sizeof(info->control));
68 info->control.jiffies = jiffies;
69 info->control.vif = &sta->sdata->vif;
70 info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
71 info->flags |= IEEE80211_TX_INTFL_RETRANSMISSION;
72 info->flags &= ~IEEE80211_TX_TEMPORARY_FLAGS;
157 !(info->flags & IEEE80211_TX_INTFL_RETRIED)) {
159 info->flags |= IEEE80211_TX_INTFL_RETRIED;
246 static int ieee80211_tx_radiotap_len(struct ieee80211_tx_info *info,
259 else if (info->status.rates[0].idx >= 0 &&
260 !(info->status.rates[0].flags &
279 } else if (info->status.rates[0].idx >= 0) {
280 if (info->status.rates[0].flags & IEEE80211_TX_RC_MCS)
282 else if (info->status.rates[0].flags & IEEE80211_TX_RC_VHT_MCS)
296 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
327 } else if (info->status.rates[0].idx >= 0 &&
328 !(info->status.rates[0].flags & (IEEE80211_TX_RC_MCS |
331 sband->bitrates[info->status.rates[0].idx].bitrate;
342 if (!(info->flags & IEEE80211_TX_STAT_ACK) &&
346 if (info->status.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT)
348 if (info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS)
492 if ((status && status->rate) || info->status.rates[0].idx < 0)
497 if (info->status.rates[0].flags & IEEE80211_TX_RC_MCS) {
502 if (info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)
504 if (info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
506 if (info->status.rates[0].flags & IEEE80211_TX_RC_GREEN_FIELD)
508 pos[2] = info->status.rates[0].idx;
510 } else if (info->status.rates[0].flags & IEEE80211_TX_RC_VHT_MCS) {
525 if (info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)
530 if (info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
532 else if (info->status.rates[0].flags & IEEE80211_TX_RC_80_MHZ_WIDTH)
534 else if (info->status.rates[0].flags & IEEE80211_TX_RC_160_MHZ_WIDTH)
541 *pos = (ieee80211_rate_get_vht_mcs(&info->status.rates[0]) << 4) |
542 ieee80211_rate_get_vht_nss(&info->status.rates[0]);
614 struct ieee80211_tx_info *info,
621 skb = idr_remove(&local->ack_status_frames, info->ack_frame_id);
627 if (info->flags & IEEE80211_TX_INTFL_NL80211_FRAME_TX) {
650 info->status.ack_signal,
651 info->status.is_valid_ack_signal,
675 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
676 u16 tx_time_est = ieee80211_info_get_tx_time_est(info);
678 bool acked = info->flags & IEEE80211_TX_STAT_ACK;
696 if (info->flags & IEEE80211_TX_INTFL_MLME_CONN_TX) {
714 info->flags);
722 } else if (info->ack_frame_id) {
723 ieee80211_report_ack_skb(local, info, acked, dropped);
752 struct ieee80211_tx_info *info)
763 /* This packet was aggregated but doesn't carry status info */
764 if ((info->flags & IEEE80211_TX_CTL_AMPDU) &&
765 !(info->flags & IEEE80211_TX_STAT_AMPDU))
791 struct ieee80211_tx_info *info,
798 if ((info->flags & IEEE80211_TX_CTL_AMPDU) &&
799 !(info->flags & IEEE80211_TX_STAT_AMPDU)) {
800 /* just the first aggr frame carry status info */
801 info->status.rates[i].idx = -1;
802 info->status.rates[i].count = 0;
804 } else if (info->status.rates[i].idx < 0) {
808 info->status.rates[i].idx = -1;
809 info->status.rates[i].count = 0;
813 count += info->status.rates[i].count;
829 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
835 rtap_len = ieee80211_tx_radiotap_len(info, status);
888 struct ieee80211_tx_info *info = status->info;
899 sband = local->hw.wiphy->bands[info->band];
906 if (info->flags & IEEE80211_TX_STATUS_EOSP)
909 acked = !!(info->flags & IEEE80211_TX_STAT_ACK);
910 noack_success = !!(info->flags &
923 info->status.rates[rates_idx];
925 if ((info->flags & IEEE80211_TX_STAT_AMPDU_NO_BACK) &&
963 if (info->flags & IEEE80211_TX_STAT_TX_FILTERED) {
974 if (!(info->flags & IEEE80211_TX_CTL_INJECTED) && acked)
983 if ((info->flags & IEEE80211_TX_STAT_ACK) ||
984 (info->flags & IEEE80211_TX_STAT_NOACK_TRANSMITTED)) {
1011 !(info->flags & IEEE80211_TX_CTL_INJECTED) &&
1013 if (info->flags & IEEE80211_TX_STAT_ACK) {
1027 send_to_cooked = !!(info->flags & IEEE80211_TX_CTL_INJECTED) ||
1053 .info = IEEE80211_SKB_CB(skb),
1072 struct ieee80211_tx_info *info = status->info;
1100 if (!status->info)
1103 rates_idx = ieee80211_tx_get_rates(hw, info, &retry_count);
1105 sband = hw->wiphy->bands[info->band];
1107 acked = !!(info->flags & IEEE80211_TX_STAT_ACK);
1108 noack_success = !!(info->flags & IEEE80211_TX_STAT_NOACK_TRANSMITTED);
1119 skb && !(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP))
1121 acked, info->status.tx_time);
1137 if (info->status.is_valid_ack_signal) {
1139 (s8)info->status.ack_signal;
1142 -info->status.ack_signal);
1155 ieee80211_lost_packet(sta, info);
1164 if (skb && !(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP))
1194 struct ieee80211_tx_info *info)
1197 struct ieee80211_supported_band *sband = hw->wiphy->bands[info->band];
1200 .info = info,
1207 sta->tx_stats.last_rate = info->status.rates[0];
1218 .info = IEEE80211_SKB_CB(skb),