Loading drivers/net/wireless/ath/ath10k/htt_rx.c +6 −2 Original line number Diff line number Diff line Loading @@ -1734,7 +1734,8 @@ static void ath10k_htt_rx_delba(struct ath10k *ar, struct htt_resp *resp) spin_unlock_bh(&ar->data_lock); } static int ath10k_htt_rx_extract_amsdu(struct sk_buff_head *list, static int ath10k_htt_rx_extract_amsdu(struct ath10k *ar, struct sk_buff_head *list, struct sk_buff_head *amsdu) { struct sk_buff *msdu; Loading @@ -1755,6 +1756,9 @@ static int ath10k_htt_rx_extract_amsdu(struct sk_buff_head *list, break; } if (QCA_REV_WCN3990(ar)) return 0; msdu = skb_peek_tail(amsdu); rxd = (void *)msdu->data - sizeof(*rxd); if (!(rxd->msdu_end.common.info0 & Loading Loading @@ -1897,7 +1901,7 @@ static int ath10k_htt_rx_in_ord_ind(struct ath10k *ar, struct sk_buff *skb) while (!skb_queue_empty(&list)) { __skb_queue_head_init(&amsdu); ret = ath10k_htt_rx_extract_amsdu(&list, &amsdu); ret = ath10k_htt_rx_extract_amsdu(ar, &list, &amsdu); switch (ret) { case 0: /* Note: The in-order indication may report interleaved Loading drivers/net/wireless/ath/ath10k/rx_desc.h +5 −2 Original line number Diff line number Diff line Loading @@ -625,8 +625,10 @@ struct rx_msdu_end { struct rx_msdu_end_common common; union { struct rx_msdu_end_qca99x0 qca99x0; struct rx_msdu_end_wcn3990 wcn3990; } __packed; #ifdef CONFIG_ATH10K_SNOC struct rx_msdu_end_wcn3990 wcn3990; #endif } __packed; /* Loading Loading @@ -1123,7 +1125,6 @@ struct rx_ppdu_end_qca9984 { struct rx_timing_offset { __le32 timing_offset; __le32 reserved; }; struct rx_ppdu_end_wcn3990 { Loading @@ -1147,7 +1148,9 @@ struct rx_ppdu_end { struct rx_ppdu_end_qca6174 qca6174; struct rx_ppdu_end_qca99x0 qca99x0; struct rx_ppdu_end_qca9984 qca9984; #ifdef CONFIG_ATH10K_SNOC struct rx_ppdu_end_wcn3990 wcn3990; #endif } __packed; } __packed; Loading Loading
drivers/net/wireless/ath/ath10k/htt_rx.c +6 −2 Original line number Diff line number Diff line Loading @@ -1734,7 +1734,8 @@ static void ath10k_htt_rx_delba(struct ath10k *ar, struct htt_resp *resp) spin_unlock_bh(&ar->data_lock); } static int ath10k_htt_rx_extract_amsdu(struct sk_buff_head *list, static int ath10k_htt_rx_extract_amsdu(struct ath10k *ar, struct sk_buff_head *list, struct sk_buff_head *amsdu) { struct sk_buff *msdu; Loading @@ -1755,6 +1756,9 @@ static int ath10k_htt_rx_extract_amsdu(struct sk_buff_head *list, break; } if (QCA_REV_WCN3990(ar)) return 0; msdu = skb_peek_tail(amsdu); rxd = (void *)msdu->data - sizeof(*rxd); if (!(rxd->msdu_end.common.info0 & Loading Loading @@ -1897,7 +1901,7 @@ static int ath10k_htt_rx_in_ord_ind(struct ath10k *ar, struct sk_buff *skb) while (!skb_queue_empty(&list)) { __skb_queue_head_init(&amsdu); ret = ath10k_htt_rx_extract_amsdu(&list, &amsdu); ret = ath10k_htt_rx_extract_amsdu(ar, &list, &amsdu); switch (ret) { case 0: /* Note: The in-order indication may report interleaved Loading
drivers/net/wireless/ath/ath10k/rx_desc.h +5 −2 Original line number Diff line number Diff line Loading @@ -625,8 +625,10 @@ struct rx_msdu_end { struct rx_msdu_end_common common; union { struct rx_msdu_end_qca99x0 qca99x0; struct rx_msdu_end_wcn3990 wcn3990; } __packed; #ifdef CONFIG_ATH10K_SNOC struct rx_msdu_end_wcn3990 wcn3990; #endif } __packed; /* Loading Loading @@ -1123,7 +1125,6 @@ struct rx_ppdu_end_qca9984 { struct rx_timing_offset { __le32 timing_offset; __le32 reserved; }; struct rx_ppdu_end_wcn3990 { Loading @@ -1147,7 +1148,9 @@ struct rx_ppdu_end { struct rx_ppdu_end_qca6174 qca6174; struct rx_ppdu_end_qca99x0 qca99x0; struct rx_ppdu_end_qca9984 qca9984; #ifdef CONFIG_ATH10K_SNOC struct rx_ppdu_end_wcn3990 wcn3990; #endif } __packed; } __packed; Loading