1: 9a45e11dcc9d ! 1: c0500149728a wifi: ath12k: fix decap of MSDUs spanning multiple RX buffers @@ Commit message the MSDU is coalesced, so the msdu_end-derived fields (decap_type, mesh_ctrl_present, is_from_ds, is_to_ds, is_mcbc, is_decrypted, sgi, rate_mcs, bw, phy_meta_data, pkt_type, nss, checksum flags and - err_bitmap) were read from the first buffer, where that TLV is not - valid. + err_bitmap, plus tid on QCN9274) were read from the first buffer, where + that TLV is not valid.  As a result decap_type was reported as DP_RX_DECAP_TYPE_RAW and the frame was handed to mac80211 with a raw 802.11 header instead of being @@ Commit message  Fix it by parsing the msdu_end fields from the last buffer (ldesc) in ath12k_hal_extract_rx_desc_data_{wcn7850,qcn9274,qcc2072}(), keeping the - mpdu_start fields (enctype, seq_no, peer_id, tid, addr2) on the first - buffer (rx_desc). For single-buffer MSDUs rx_desc and ldesc point to the - same descriptor so the behavior is unchanged. + mpdu_start fields (enctype, seq_no, peer_id and addr2) on the first + buffer (rx_desc). The tid field is read from mpdu_start on WCN7850 and + QCC2072, and from msdu_end on QCN9274. For single-buffer MSDUs rx_desc + and ldesc point to the same descriptor so the behavior is unchanged.  Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3  Fixes: e8a1e49c6328 ("wifi: ath12k: Add new infra for the rx path") + Reviewed-by: Vasanthakumar Thiagarajan  + Reviewed-by: Baochen Qiang  Signed-off-by: Lorenzo Bianconi   ## drivers/net/wireless/ath/ath12k/wifi7/hal_qcc2072.c ##