[PATCH] nl80211: Add MLME assoc work-around for -EEXIST errno

Jouni Malinen j at w1.fi
Sun Mar 11 03:50:23 PDT 2018


On Tue, Mar 06, 2018 at 12:55:45PM -0800, greearb at candelatech.com wrote:
> The 4.9 kernel, at least, can return EEXIST when trying to add
> a station that already exists.

This is a bit confusing commit message since it talks about "assoc" and
adding a station while the code change is actually for authentication
(NL80211_CMD_AUTHENTICATE)..

What is the use case where you see the station (mac80211 STA entry, I'd
assume) being already there?

> diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
> @@ -3294,7 +3294,8 @@ retry:
>  		wpa_dbg(drv->ctx, MSG_INFO,
>  			"nl80211: MLME command failed (auth): count=%d ret=%d (%s)",
>  			count, ret, strerror(-ret));
> -		if (ret == -EALREADY && count == 1 && params->bssid &&
> +		if (((ret == -EALREADY) || (ret == -EEXIST))
> +		    && count == 1 && params->bssid &&
>  		    !params->local_state_change) {
>  			/* Nov 9, 2017:  Re-enable this...user saw endless loop of
>  			 * hitting this case.  Maybe the original reason I put this hack

This does not apply due to a missing "count++" and extra "Nov 9, 2017"
comment, i.e., the baseline is quite different compared to what exists
in hostap.git.
 
-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the Hostap mailing list