On 4/4/2024 7:15 AM, Nithyanantham Paramasivam wrote: > From: Karthikeyan Periyasamy <quic_periyasa@xxxxxxxxxxx> > > 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@xxxxxxxxxxx> > Signed-off-by: Nithyanantham Paramasivam <quic_nithp@xxxxxxxxxxx> Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>