-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
High
-
SITSW-9158
-
11.01.00
-
12.01.00
-
am62a-sk
I have observed that the Teardown process does not complete when the MCSPI channel’s DMA transaction is not fully finished.
You can reproduce the issue using the following steps:
1. Run the MCSPI Loopback DMA example.
2. Start the DMA transfer.
3. After starting the DMA, do not wait for the semaphore. Instead, trigger a timeout path immediately.
4. Call MCSPI_dmaClose and MCSPI_dmaStop.
5. At this point, the issue appears:
• During UDMA channel disable (TX channel),
• The TX channel does not reach Teardown completion,
• Which causes the failure.
If we reset the channel and reopen both the DMA drivers and MCSPI, the flow works again. This confirms that the failure is specifically due to incomplete teardown when the DMA transaction has only just started.
Some customers also want to re-run the DMA once the timeout occurs. In the current behavior, this fails because the teardown does not progress when the DMA hasn’t completed its transfer.
We need to fix the teardown handling so that even if the DMA transfer hasn’t completed, the teardown process still completes cleanly.
I’ve attached the application changes and corresponding driver modifications for reference.
NOTE : This is need to be fixed for all the Peripheral's and not only for the MCSPI ..