Skip to content
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

Merged
merged 6 commits into from
Jun 4, 2024

Conversation

krish2718
Copy link
Contributor

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).

@github-actions github-actions bot added manifest changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels May 30, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented May 30, 2024

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
nrfxlib nrfconnect/sdk-nrfxlib@9837d3b nrfconnect/sdk-nrfxlib@589238f (main) nrfconnect/[email protected]

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@NordicBuilder
Copy link
Contributor

NordicBuilder commented May 30, 2024

Test specification

CI/Jenkins/NRF

  • Integration Platforms

CI/Jenkins/integration

Test Module File based changes Manually selected West overwrite
test-fw-nrfconnect-chip X
test-sdk-wifi X

Detailed information of selected test modules

Note: This message is automatically posted and updated by the CI

@krish2718 krish2718 requested a review from krga2022 May 30, 2024 20:31
@krish2718 krish2718 added this to the 2.7.0 milestone May 30, 2024
@NordicBuilder
Copy link
Contributor

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
Copy link
Contributor

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?

Copy link
Contributor Author

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.

krish2718 added 6 commits June 3, 2024 20:57
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]>
@NordicBuilder NordicBuilder removed the DNM label Jun 3, 2024
@rlubos rlubos merged commit f3a5810 into nrfconnect:main Jun 4, 2024
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. manifest manifest-nrfxlib
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants