@@ -5093,6 +5093,8 @@ struct cfg80211_ops {
* @WIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY: support connection to non-primary link
* of an NSTR mobile AP MLD.
* @WIPHY_FLAG_DISABLE_WEXT: disable wireless extensions for this device
+ * @WIPHY_FLAG_SUPPORTS_MLO_STA_PER_LINK_STATS: The driver does not offload
+ * link decisions and provide per-link statistics for MLO STA.
*/
enum wiphy_flags {
WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = BIT(0),
@@ -5121,6 +5123,7 @@ enum wiphy_flags {
WIPHY_FLAG_HAS_CHANNEL_SWITCH = BIT(23),
WIPHY_FLAG_NOTIFY_REGDOM_BY_DRIVER = BIT(24),
WIPHY_FLAG_CHANNEL_CHANGE_ON_BEACON = BIT(25),
+ WIPHY_FLAG_SUPPORTS_MLO_STA_PER_LINK_STATS = BIT(26),
};
/**
@@ -6917,7 +6917,8 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
&sinfo->sta_flags))
goto nla_put_failure;
- if (sinfo->valid_links) {
+ if ((rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_MLO_STA_PER_LINK_STATS) &&
+ sinfo->valid_links) {
/* TODO: Add accumulated stats for packets, bytes for
* better representation at MLO level.
*/
Currently, while filling NL attributes for the link level station statistics, valid_links is checked. There might be the case when driver offload link station statistics and does not provide per-link statistics. Hence, add flag WIPHY_FLAG_SUPPORTS_MLO_STA_PER_LINK_STATS in wiphy structure to indicate that driver supports per link station statistics. Set this flag if driver supports per-link station statistics and check this flag while filling the station_info structure for MLO and while embedding the info into NL message. Signed-off-by: Sarika Sharma <quic_sarishar@quicinc.com> --- include/net/cfg80211.h | 3 +++ net/wireless/nl80211.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-)