-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Fix/wifi 11k roaming fail #93570
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Fix/wifi 11k roaming fail #93570
Conversation
233b6e8
to
81ac686
Compare
return -1; | ||
} | ||
|
||
if (wpa_s->reassociate || (wpa_s->wpa_state >= WPA_AUTHENTICATING && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can't we just do below?
if (wpa_s->wpa_stats != WPA_COMPLETED) {
return;
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just copy same guard as supplicant_11r_roaming here.
I don't want to block more roaming actions than which during auth, in case some of them are expected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, but this is 11k, which AFAIK is sent only after connection
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
most cases yes. But can we send 11k while WPA_SCANNING? I'm not sure. So I just copy 11r roaming entry condition here.
subsys/net/l2/wifi/wifi_mgmt.c
Outdated
@@ -442,7 +442,7 @@ static int wifi_connect(uint64_t mgmt_request, struct net_if *iface, | |||
} | |||
|
|||
#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_ROAMING | |||
memset(&roaming_params, 0x0, sizeof(roaming_params)); | |||
memset((void *)&roaming_params.neighbor_rep, 0x0, sizeof(roaming_params.neighbor_rep)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please rewrite the commit log? IIUC, you are saying that `Roaming state should not be cleared for every connection request, only 11k state needs to be cleared"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes sure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated this commit and content. pls check. I found reighbor report param will be cleared before start_roaming. So I just remove this statement.
Add guard of supplicant state condition. Not send neighbor request in auth procedures. Add process for null pointer params. Signed-off-by: Fengming Ye <frank.ye@nxp.com>
391b6cc
to
7c7e270
Compare
Support the case that 11k parameter can be set before wifi connection. This field should not be cleared by connection. Neighbor report will be cleared before start_roaming. So wifi_connect don't need to clear 11k params. Signed-off-by: Fengming Ye <frank.ye@nxp.com>
7c7e270
to
8b0cb44
Compare
reworded commit log to fix compliance check |
|
233b6e8
subsys: wifi: fix wifi 11k cannot be set before connection
80d1d23
modules: hostap: fix wifi roaming aborted in few cases