nl80211: Send bssid info as parameter to nl80211_get_link_signal()

Add bssid as parameter to nl80211_get_link_signal() instead of using
bssid from driver structure. This is useful for calling the function
per-MLO link.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
This commit is contained in:
Veerendranath Jakkam 2022-09-08 20:14:19 +05:30 committed by Jouni Malinen
parent 6ca98040a2
commit 8dd5b9a9ed
3 changed files with 5 additions and 5 deletions

View file

@ -1699,7 +1699,7 @@ static int get_link_signal(struct nl_msg *msg, void *arg)
int nl80211_get_link_signal(struct wpa_driver_nl80211_data *drv,
struct wpa_signal_info *sig)
const u8 *bssid, struct wpa_signal_info *sig)
{
struct nl_msg *msg;
@ -1707,7 +1707,7 @@ int nl80211_get_link_signal(struct wpa_driver_nl80211_data *drv,
sig->current_txrate = 0;
if (!(msg = nl80211_drv_msg(drv, 0, NL80211_CMD_GET_STATION)) ||
nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, drv->bssid)) {
nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, bssid)) {
nlmsg_free(msg);
return -ENOBUFS;
}
@ -8759,7 +8759,7 @@ static int nl80211_signal_poll(void *priv, struct wpa_signal_info *si)
int res;
os_memset(si, 0, sizeof(*si));
res = nl80211_get_link_signal(drv, si);
res = nl80211_get_link_signal(drv, drv->bssid, si);
if (res) {
if (drv->nlmode != NL80211_IFTYPE_ADHOC &&
drv->nlmode != NL80211_IFTYPE_MESH_POINT)

View file

@ -269,7 +269,7 @@ int is_ap_interface(enum nl80211_iftype nlmode);
int is_sta_interface(enum nl80211_iftype nlmode);
int wpa_driver_nl80211_authenticate_retry(struct wpa_driver_nl80211_data *drv);
int nl80211_get_link_signal(struct wpa_driver_nl80211_data *drv,
struct wpa_signal_info *sig);
const u8 *bssid, struct wpa_signal_info *sig);
int nl80211_get_link_noise(struct wpa_driver_nl80211_data *drv,
struct wpa_signal_info *sig_change);
int nl80211_get_wiphy_index(struct i802_bss *bss);

View file

@ -1606,7 +1606,7 @@ static void nl80211_cqm_event(struct wpa_driver_nl80211_data *drv,
* nl80211_get_link_signal() and nl80211_get_link_noise() set default
* values in case querying the driver fails.
*/
res = nl80211_get_link_signal(drv, &ed.signal_change);
res = nl80211_get_link_signal(drv, drv->bssid, &ed.signal_change);
if (res == 0) {
wpa_printf(MSG_DEBUG, "nl80211: Signal: %d dBm txrate: %d",
ed.signal_change.current_signal,