Lines Matching refs:amsdu

352 				   struct sk_buff_head *amsdu)
371 __skb_queue_purge(amsdu);
375 __skb_queue_tail(amsdu, msdu);
400 __skb_queue_purge(amsdu);
422 __skb_queue_purge(amsdu);
426 __skb_queue_tail(amsdu, msdu);
444 if (skb_queue_empty(amsdu))
523 ath10k_warn(ar, "invalid amsdu len %u, left %d",
564 ath10k_warn(ar, "invalid amsdu len %u, left %d",
600 ath10k_warn(ar, "invalid amsdu len %u, left %d",
641 ath10k_warn(ar, "invalid amsdu len %u, left %d",
1265 struct sk_buff_head *amsdu,
1276 if (skb_queue_empty(amsdu))
1279 first = skb_peek(amsdu);
1376 "rx skb %pK 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",
1450 * [amsdu header] <-- only if A-MSDU
1729 * [amsdu header] <-- replaced with 802.11 hdr
1770 * [amsdu header] <-- only if A-MSDU
1774 * [amsdu header] <-- only if A-MSDU
1922 struct sk_buff_head *amsdu,
1951 if (skb_queue_empty(amsdu))
1954 first = skb_peek(amsdu);
1987 last = skb_peek_tail(amsdu);
2054 skb_queue_walk(amsdu, msdu) {
2070 __skb_unlink(msdu, amsdu);
2110 struct sk_buff_head *amsdu,
2116 first_subframe = skb_peek(amsdu);
2118 while ((msdu = __skb_dequeue(amsdu))) {
2120 if (skb_queue_empty(amsdu))
2136 static int ath10k_unchain_msdu(struct sk_buff_head *amsdu,
2142 int amsdu_len = skb_queue_len(amsdu);
2151 first = __skb_dequeue(amsdu);
2154 skb_queue_walk(amsdu, skb)
2164 __skb_queue_head(amsdu, first);
2171 while ((skb = __skb_dequeue(amsdu))) {
2177 __skb_queue_head(amsdu, first);
2185 struct sk_buff_head *amsdu,
2196 first = skb_peek(amsdu);
2211 skb_queue_len(amsdu) != 1 + rxd_frag_info->ring2_more_count) {
2212 *drop_cnt += skb_queue_len(amsdu);
2213 __skb_queue_purge(amsdu);
2217 ath10k_unchain_msdu(amsdu, unchain_cnt);
2221 struct sk_buff_head *amsdu)
2235 first = skb_peek(amsdu);
2266 /* Validate if the amsdu has a proper first subframe.
2267 * There are chances a single msdu can be received as amsdu when
2268 * the unauthenticated amsdu flag of a QoS header
2280 struct sk_buff_head *amsdu,
2293 if (!ath10k_htt_rx_validate_amsdu(ar, amsdu)) {
2294 ath10k_dbg(ar, ATH10K_DBG_HTT, "invalid amsdu received\n");
2302 struct sk_buff_head *amsdu,
2306 if (skb_queue_empty(amsdu))
2309 if (ath10k_htt_rx_amsdu_allowed(ar, amsdu, rx_status))
2313 *drop_cnt += skb_queue_len(amsdu);
2315 __skb_queue_purge(amsdu);
2322 struct sk_buff_head amsdu;
2331 __skb_queue_head_init(&amsdu);
2338 ret = ath10k_htt_rx_amsdu_pop(htt, &amsdu);
2343 __skb_queue_purge(&amsdu);
2351 num_msdus = skb_queue_len(&amsdu);
2353 ath10k_htt_rx_h_ppdu(ar, &amsdu, rx_status, 0xffff);
2357 ath10k_htt_rx_h_unchain(ar, &amsdu, &drop_cnt, &unchain_cnt);
2359 ath10k_htt_rx_h_filter(ar, &amsdu, rx_status, &drop_cnt_filter);
2360 ath10k_htt_rx_h_mpdu(ar, &amsdu, rx_status, true, first_hdr, &err, 0,
2362 msdus_to_queue = skb_queue_len(&amsdu);
2363 ath10k_htt_rx_h_enqueue(ar, &amsdu, rx_status);
3150 struct sk_buff_head *amsdu)
3159 if (WARN_ON(!skb_queue_empty(amsdu)))
3163 __skb_queue_tail(amsdu, msdu);
3175 msdu = skb_peek_tail(amsdu);
3182 skb_queue_splice_init(amsdu, list);
3264 struct sk_buff_head amsdu;
3322 __skb_queue_head_init(&amsdu);
3323 ret = ath10k_htt_rx_extract_amsdu(&ar->hw_params, &list, &amsdu);
3332 ath10k_htt_rx_h_ppdu(ar, &amsdu, status, vdev_id);
3333 ath10k_htt_rx_h_filter(ar, &amsdu, status, NULL);
3334 ath10k_htt_rx_h_mpdu(ar, &amsdu, status, false, NULL,
3336 ath10k_htt_rx_h_enqueue(ar, &amsdu, status);
3342 ath10k_warn(ar, "failed to extract amsdu: %d\n", ret);