wifi: mac80211: report per-link error during association
authorBenjamin Berg <benjamin.berg@intel.com>
Wed, 20 Sep 2023 18:25:28 +0000 (21:25 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Sep 2023 07:12:34 +0000 (09:12 +0200)
With this cfg80211 can report the link that caused the error to
userspace which is then able to react to it by e.g. removing the link
from the association and retrying.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230920211508.275fc7f5c426.I8086c0fdbbf92537d6a8b8e80b33387fcfd5553d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index 663ea7430b73967cf469f7972bed6903fa687275..509ddfd99cbfb9726e067e4423c0e460c5619998 100644 (file)
@@ -7866,8 +7866,10 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
                /* only calculate the flags, hence link == NULL */
                err = ieee80211_prep_channel(sdata, NULL, assoc_data->link[i].bss,
                                             &assoc_data->link[i].conn_flags);
-               if (err)
+               if (err) {
+                       req->links[i].error = err;
                        goto err_clear;
+               }
        }
 
        /* needed for transmitting the assoc frames properly */