Skip to content

drivers: wifi: siwx91x: Fix AP stability bugs #91915

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 3 commits into
base: main
Choose a base branch
from

Conversation

muahmed-silabs
Copy link
Contributor

@muahmed-silabs muahmed-silabs commented Jun 19, 2025

  • Disabled the 160 MHz feature due to stability issues (mode change).
  • Raising event from driver itself after successful AP start, instead of waiting for an event from SDK/TA FW. TA used to send an asynchronous event earlier but currently does not.
  • Copying only WIFI_MAC_ADDR_LEN bytes to sta_info.mac instead of dynamic length

@jerome-pouiller
Copy link
Collaborator

For the first commit, can you add Fixes: commit a73f20214 ("drivers: wifi: siwx91x: Fix boot_config") in the commit log.

For the second commit, I understand siwx91x_wifi_module_stats_event_handler() is never called with STATE_ASSOCIATED in AP mode. Then, can you drop the orphan code?

Fixes: commit a73f202 ("drivers: wifi: siwx91x: Fix boot_config")
Disabled the 160 MHz feature due to stability issues (mode change)

Signed-off-by: Muzaffar Ahmed <[email protected]>
Raising event from driver itself after successful AP start,
instead of waiting for an event from SDK/TA FW. TA used to send an
asynchronous event earlier but currently does not.

Signed-off-by: Muzaffar Ahmed <[email protected]>
Copy only WIFI_MAC_ADDR_LEN bytes to sta_info.mac instead of dynamic
length

Signed-off-by: Muzaffar Ahmed <[email protected]>
@muahmed-silabs muahmed-silabs force-pushed the fix/ap-stability-bugs branch from 9bb395b to 968a503 Compare June 19, 2025 18:21
Copy link

@@ -885,14 +885,15 @@ static sl_status_t siwx91x_on_ap_sta_connect(sl_wifi_event_t event, void *data,
uint32_t data_length, void *arg)
{
ARG_UNUSED(event);
ARG_UNUSED(data_length);
Copy link
Collaborator

@jerome-pouiller jerome-pouiller Jun 19, 2025

Choose a reason for hiding this comment

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

To avoid any further mistake, it would probably make sense to explain what value is represented by data_length. Maybe the code should be:

struct ??? *station = arg;
[...]
ASSERT(data_length == sizeof(struct ???));

... and I assume the first field of struct ??? is the mac address of the station.

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

Successfully merging this pull request may close these issues.

4 participants