Message ID | 1520369745-26312-1-git-send-email-greearb@candelatech.com |
---|---|
State | Changes Requested |
Headers | show |
Series | nl80211: Add MLME assoc work-around for -EEXIST errno | expand |
On Tue, Mar 06, 2018 at 12:55:45PM -0800, greearb@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.
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 373f745..1fe0a5c 100644 --- 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