-
Notifications
You must be signed in to change notification settings - Fork 1.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
wifi: Fix de-initialization sequence #15602
Conversation
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
Test specificationCI/Jenkins/NRF
CI/Jenkins/integration
Detailed information of selected test modules Note: This message is automatically posted and updated by the CI |
You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds. Note: This comment is automatically posted by the Documentation Publishing GitHub Action. |
CONFIG_NET_BUF_RX_COUNT=30 | ||
CONFIG_NET_BUF_TX_COUNT=60 | ||
CONFIG_NET_BUF_TX_COUNT=58 | ||
CONFIG_HEAP_MEM_POOL_SIZE=230000 |
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.
Does this change impact the peak TX throughput?
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.
IMHO it shouldn't, I have seen TX buffers having minimal impact, but please verify.
8bed12a
to
0266566
Compare
0266566
to
6830883
Compare
This pulls in newly added atomic API to de-initialize the driver (and RPU). Fixes SHEL-2436. Signed-off-by: Chaitanya Tata <[email protected]>
Improves readability esp. for init. Signed-off-by: Chaitanya Tata <[email protected]>
Though this is no-op for now, it would lead to crash if BAL de-init is called which will be in the upcoming commits. Signed-off-by: Chaitanya Tata <[email protected]>
BAL de-init was never called, so, these weren't caught. In upcoming commits BAL de-init will be used, so, assign here to avoid crashes. Signed-off-by: Chaitanya Tata <[email protected]>
The QSPI dev context has it's own structure, so, need to be extract the QSPI dev ops from the context, this has been implemented improperly, but as it's not been used till date hadn't caused any problems. Signed-off-by: Chaitanya Tata <[email protected]>
During interrupt unregistration we need to remove the interrupt handler first to avoid further interrupts and then wait for any pending items in the workqueue to complete before returning to the caller. Use "sync" variant for waiting till pending work is done and swap the operations to remove the interrupt handler. Also, check for the return value of handler unregistration. Signed-off-by: Chaitanya Tata <[email protected]>
6830883
to
86b11b2
Compare
De-initialization sequence in nRF70 driver was not properly implemented and has never been tested (init + reboot was the usecase), but we need this to work properly in order to put RPU in lowest power state, recover RPU etc.
This PR fills the gaps, fixes race conditions etc to solve numerous crashes.
Note: needs to be rebase once #15599 is merged (top two commits are taken from this PR to enable tests/build).