Message ID | 20250107174802.1793252-3-quic_ramess@quicinc.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Johannes Berg |
Headers | show |
Series | wifi: cfg80211: update EML capabilities of an ML Station | expand |
On Tue, 2025-01-07 at 23:18 +0530, Rameshkumar Sundaram wrote: > > + if (params->eml_cap) > + sta->sta.eml_cap = params->eml_cap; > It would seem to me that 0 is a valid value, so you may need a separate "was the attribute included and we're changing the value" flag? johannes
On 1/8/2025 2:04 PM, Johannes Berg wrote: > On Tue, 2025-01-07 at 23:18 +0530, Rameshkumar Sundaram wrote: >> + if (params->eml_cap) >> + sta->sta.eml_cap = params->eml_cap; >> > It would seem to me that 0 is a valid value, so you may need a separate > "was the attribute included and we're changing the value" flag? Yes you're right, shall i add a new entry in station_parameters_apply_mask {} and use it for this ?
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 9320d4bc22ee..2cbd7d1fba74 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -2481,6 +2481,7 @@ struct ieee80211_link_sta { * @max_amsdu_subframes: indicates the maximal number of MSDUs in a single * A-MSDU. Taken from the Extended Capabilities element. 0 means * unlimited. + * @eml_cap: EML capabilities of this MLO station * @cur: currently valid data as aggregated from the active links * For non MLO STA it will point to the deflink data. For MLO STA * ieee80211_sta_recalc_aggregates() must be called to update it. @@ -2515,6 +2516,7 @@ struct ieee80211_sta { bool mlo; bool spp_amsdu; u8 max_amsdu_subframes; + u16 eml_cap; struct ieee80211_sta_aggregates *cur; diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index b8495d5f2297..9ad85ea8774e 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -2062,6 +2062,9 @@ static int sta_apply_parameters(struct ieee80211_local *local, if (params->listen_interval >= 0) sta->listen_interval = params->listen_interval; + if (params->eml_cap) + sta->sta.eml_cap = params->eml_cap; + ret = sta_link_apply_parameters(local, sta, STA_LINK_MODE_STA_MODIFY, ¶ms->link_sta_params); if (ret)