[PATCH v2 1/5] wifi: mac80211: correct RX stats packet increment for multi-link
Sarika Sharma
quic_sarishar at quicinc.com
Sun Feb 16 19:52:31 PST 2025
On 2/14/2025 1:47 AM, Ben Greear wrote:
> On 2/13/25 9:32 AM, Sarika Sharma wrote:
>> Currently, RX stats packets are incremented for deflink member for
>> non-ML and multi-link(ML) station case. However, for ML station,
>> packets should be incremented based on the specific link.
>>
>> Therefore, if a valid link_id is present, fetch the corresponding
>> link station information and increment the RX packets for that link.
>> For non-MLO stations, the deflink will still be used.
>>
>> Signed-off-by: Sarika Sharma <quic_sarishar at quicinc.com>
>> ---
>> net/mac80211/rx.c | 15 +++++++++++++--
>> 1 file changed, 13 insertions(+), 2 deletions(-)
>>
>> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
>> index 1e28efe4203c..eb3e2d550c8f 100644
>> --- a/net/mac80211/rx.c
>> +++ b/net/mac80211/rx.c
>> @@ -231,8 +231,19 @@ static void __ieee80211_queue_skb_to_iface(struct
>> ieee80211_sub_if_data *sdata,
>> skb_queue_tail(&sdata->skb_queue, skb);
>> wiphy_work_queue(sdata->local->hw.wiphy, &sdata->work);
>> - if (sta)
>> - sta->deflink.rx_stats.packets++;
>> + if (sta) {
>> + struct link_sta_info *link_sta_info;
>> +
>> + if (link_id >= 0) {
>> + link_sta_info = rcu_dereference(sta->link[link_id]);
>> + if (!link_sta_info)
>> + return;
>
> I think if you cannot find the link_sta_info here, you should just use
> deflink
> so the packet is still counted?
>
> Thanks,
> Ben
Currently, we are consistently searching for link_sta, and if link_sta
is not found, we return. We are not utilizing deflink when the link of
link_sta is NULL. Additionally, while populating stats in station_info
structure, we are checking sta_link for link stats instead of deflink.
I believe that filling the stats in deflink is not beneficial for MLO
link-level stats.
May be Johannes can comment on this, if still required I believe this
could be taken as separate changes.
More information about the ath12k
mailing list