On 4/9/2024 12:09 PM, Nithyanantham Paramasivam wrote: > We observe intermittent ping failures from the access point (AP) to > station (STA) in any mode(AP-STA or Mesh) configured. Specifically, > the transmission completion status is not received at Tx completion > ring id-4(WBM2SW ring4) for the packets transmitted via TCL DATA > ring id-3. This prevents freeing up Tx descriptors and leads > to buffer exhaustion. > > Currently, during initialization of the WBM2SW ring, we are directly > mapping the ring number to the ring mask to obtain the ring mask > group index. This approach is causing setup failures for WBM2SW > ring-4. Similarly, during runtime, when receiving incoming > transmission completion status, the validation of the ring number by > mapping the interrupted ring mask. This is resulting in > validation failure. Thereby preventing entry into the completion > handler(ath12k_dp_tx_completion_handler()). > > The existing design assumed that the ring numbers would always be > sequential and could be directly mapped with the ring mask. However, > this assumption does not hold true for WBM2SW ring-4. Therefore, > modify the design such that, instead of mapping the ring number, > the ring ID is mapped with the ring mask. > > According to this design: > 1. During initialization of the WBM2SW ring, mapping the ring ID > to the ring mask will ensure obtaining the correct ring mask group > ID. > 2. During runtime, validating the interrupted ring mask group ID > within the transmission completion group is sufficient. This > approach allows the ring ID to be derived from the interrupted ring > mask and enables entry into the completion handler. > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > > Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices") > Signed-off-by: Nithyanantham Paramasivam <quic_nithp@xxxxxxxxxxx> Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>