Skip to content

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

fengming-ye
Copy link
Contributor

233b6e8
subsys: wifi: fix wifi 11k cannot be set before connection

Support the case that 11k parameter can be set before wifi connection.
This field should not be cleared by connection.
Fix it by not clear it in wifi_connect api.

80d1d23
modules: hostap: fix wifi roaming aborted in few cases

Add guard of supplicant state condition.
Not send neighbor request in auth procedures.

MaochenWang1
MaochenWang1 previously approved these changes Jul 23, 2025
return -1;
}

if (wpa_s->reassociate || (wpa_s->wpa_state >= WPA_AUTHENTICATING &&
Copy link
Contributor

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;
}

Copy link
Contributor Author

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.

Copy link
Contributor

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

Copy link
Contributor Author

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.

@@ -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));
Copy link
Contributor

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"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes sure

Copy link
Contributor Author

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>
@fengming-ye fengming-ye force-pushed the fix/wifi_11k_roaming_fail branch 2 times, most recently from 391b6cc to 7c7e270 Compare July 24, 2025 02:27
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>
@fengming-ye fengming-ye force-pushed the fix/wifi_11k_roaming_fail branch from 7c7e270 to 8b0cb44 Compare July 25, 2025 02:21
@fengming-ye
Copy link
Contributor Author

reworded commit log to fix compliance check

Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants