From dd374f84baecd76cbd12fc543c763ff78338d4ad Mon Sep 17 00:00:00 2001
From: Johannes Berg <johannes.berg@intel.com>
Date: Mon, 13 Jun 2022 16:52:02 +0200
Subject: [PATCH] wifi: nl80211: expose link ID for associated BSSes

When retrieving scan data, expose not just whether or not the
interface (possibly an MLD) is associated to the BSS or not,
but also on which link ID if it is an MLD.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 net/wireless/nl80211.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 64934dd923ce..aca799b9971e 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -9959,8 +9959,10 @@ static int nl80211_send_bss(struct sk_buff *msg, struct netlink_callback *cb,
 	case NL80211_IFTYPE_STATION:
 		for_each_valid_link(wdev, link_id) {
 			if (intbss == wdev->links[link_id].client.current_bss &&
-			    nla_put_u32(msg, NL80211_BSS_STATUS,
-					NL80211_BSS_STATUS_ASSOCIATED))
+			    (nla_put_u32(msg, NL80211_BSS_STATUS,
+					 NL80211_BSS_STATUS_ASSOCIATED) ||
+			     (wdev->valid_links &&
+			      nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))))
 				goto nla_put_failure;
 		}
 		break;
-- 
2.50.1