-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
drivers: uart_nrf_sw_lpuart: Fix interrupt driven case #14609
base: main
Are you sure you want to change the base?
Conversation
b4a02c6
to
df6e665
Compare
Test specificationCI/Jenkins/NRF
CI/Jenkins/integration
Detailed information of selected test modules Note: This message is automatically posted and updated by the CI |
df6e665
to
e3d4ee8
Compare
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
e3d4ee8
to
7b7b677
Compare
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: 830ab843063f42081c1496aff80173c99072f908 more detailssdk-nrf:
Github labels
List of changed files detected by CI (1)
Outputs:ToolchainVersion: Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
@anangl can you take a look? |
Driver was calling isr function from unknown context when uart_irq_[rx,tx]_enable was called. It could lead to failures because driver assumes that isr function won't be interrupt by the same isr function. A solution proposed here is to use k_timer handler context which is called from RTC1 interrupt context. Assert is ensuring that RTC1 and UART interrupt priorities are the same. Timer is called from the shortest possible timeout and from that context isr function is called. Signed-off-by: Krzysztof Chruściński <[email protected]>
7b7b677
to
830ab84
Compare
Driver was calling isr function from unknown context when uart_irq_[rx,tx]_enable was called. It could lead to failures because driver assumes that isr function won't be interrupt by the same isr function.
A solution proposed here is to use k_timer handler context which is called from RTC1 interrupt context. Assert is ensuring that RTC1 and UART interrupt priorities are the same. Timer is called from the shortest possible timeout and from that context isr function is called.