wifi: mac80211: use deflink and fix typo in link ID check
authorBenjamin Berg <benjamin.berg@intel.com>
Thu, 11 Jan 2024 16:17:46 +0000 (18:17 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 26 Jan 2024 08:39:50 +0000 (09:39 +0100)
This does not change anything effectively, but it is closer to what the
code is trying to achieve here. i.e. select the link data if it is an
MLD and fall back to using the deflink otherwise.

Fixes: 0f99f0878350 ("wifi: mac80211: Print local link address during authentication")
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240111181514.4c4b1c40eb3c.I2771621dee328c618536596b7e56232df42a79c8@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index 99188bd84799709f852013cee332f4a2db9afed4..cc9a8eaffa6b59457727553cab55b10f6b84c870 100644 (file)
@@ -7869,10 +7869,10 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
        if (err)
                goto err_clear;
 
-       if (req->link_id > 0)
+       if (req->link_id >= 0)
                link = sdata_dereference(sdata->link[req->link_id], sdata);
        else
-               link = sdata_dereference(sdata->link[0], sdata);
+               link = &sdata->deflink;
 
        if (WARN_ON(!link)) {
                err = -ENOLINK;