-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Reverting #12312 as it breaking current WiFI connect()->Disconnect() sequence #12580
Reverting #12312 as it breaking current WiFI connect()->Disconnect() sequence #12580
Conversation
connect()->Disconnect() sequence This reverts commit 18285e1
@0xc0170 @morser499 Have accidentally closed the pull request #12513 while resolving the merge conflicts and not able to re-open it. |
@cy-arsm, thank you for your changes. |
CI started |
Test run: FAILEDSummary: 1 of 7 test jobs failed Failed test jobs:
|
Client restarted |
CI completed. @ARMmbed/mbed-os-ipcore Please review |
@tymoteuszblochmobica / @mtomczykmobica Please review this |
Looks OK for me. |
This reverts commit 18285e1.
Summary of changes
Issue:
In disconnect sequence, whd_emac_wifi_link_state_changed(FALSE) is called which is an asynchronous operation and execution is handled in tcp_ip thread(). As part of this api, it access the interface structure.
remove_ethernet_interface will remove the interface from the netif list, this is a synchronous execution and called after whd_emac_wifi_link_state_changed().
Hence there is synchronization issue, where whd_emac_wifi_link_state_changed() is trying to access the interface structure which is already freed by remove_ehternet_interface(). Hence crash is seen.
Hence reverting the remove interface in SoftAP->stop() and STA->disconnect() as it breaking the current WiFi connect()->disconnect() sequence.
Impact of changes
Migration actions required
Documentation
Pull request type
Test results
Reviewers