[PATCH v3] wifi: ath12k: fix mac id extraction when MSDU spillover in rx error path
Jeff Johnson
quic_jjohnson at quicinc.com
Thu Apr 4 08:43:20 PDT 2024
On 4/4/2024 7:15 AM, Nithyanantham Paramasivam wrote:
> From: Karthikeyan Periyasamy <quic_periyasa at quicinc.com>
>
> Currently, in the rx error data path, mac id is extracted from the
> last 64bits of MSDU end description tag for each entry received in
> the WBM error ring. Then, each entry will be updated into the MSDU
> list for further processing. The extracted mac id is valid when a
> single MSDU is not fragmented and received in the WBM error ring.
>
> In scenarios where the size of a single MSDU received exceeds the
> descriptor buffer size, resulting in fragmented or spillover MSDU
> entries into the WBM error ring. In this case, the extracted mac id
> from each spillover entry is invalid except the last spillover entry
> of the MSDU. This invalid mac id leads to packet rejection.
>
> To address this issue, check if the MSDU continuation flag is set,
> then extract the valid mac id from the last spillover entry.
> Propagate the valid mac id to all the spillover entries of the single
> MSDU in the temporary MSDU list(scatter_msdu_list). Then, update this
> into the MSDU list (msdu_list) for further processing.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa at quicinc.com>
> Signed-off-by: Nithyanantham Paramasivam <quic_nithp at quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson at quicinc.com>
More information about the ath12k
mailing list