Part Number: AM62A7
Hi TI experts,
We are testing our application using the TI VHWA M2M LDC driver and have observed an issue when the LDC HTS watchdog fires. After the watchdog timeout, the LDC stops making forward progress while processing a frame, and the application waits indefinitely for the request to complete.
The following observations were collected after reproducing the issue.
Evidence
The HTS watchdog is enabled for the LDC and configured in the default 64K timeout mode (WDTIMER_MODE = 0), consistent with the stock TI implementation.
After the watchdog timeout, the LDC register snapshot is:
CTRL = 0x00020217
ERR_STATUS = 0x00000000
FR_PDFTCH = 0x006CD0E0
FR_MDFTCH = 0x0001D100
DEBUG_STATUS = 0x00031806
Additional observations
Before the timeout
WDTIMER_EN = 1WDTIMER_MODE = 0(64K cycles)
After the timeout
WDTIMER_ENis cleared by the driver, confirming that the watchdog interrupt has been serviced.CTRL.BUSYremains set.FR_PDFTCHandFR_MDFTCHremain unchanged over multiple reads spanning several seconds.
HTS scheduler status:
HWA2 Scheduler = 0x00000403
SCH_EN = 1
PAUSE = 0
STATE = 8
ERR_STATUSremains0x00000000.- No Frame Done interrupt is generated after the watchdog timeout.
Based on these observations, the LDC appears to stop making forward progress after the watchdog timeout while remaining BUSY, and the current request never completes.
For reference, we have attached a sequence diagram illustrating the observed execution flow in both the normal case and the watchdog timeout case.
Questions
1. Expected driver behavior after a watchdog timeout
After an LDC watchdog timeout, what is the expected behavior of the VHWA M2M LDC driver?
Should the driver:
- Complete the current request with an error status and allow the application to continue,
or
- Require the application to close and recreate the
Fvid2handle before submitting new requests?
If the driver is expected to complete the pending request, is the current implementation of vhwaM2mLdcIsr() correct, or is additional error-handling logic required?
2. Finite timeout for Fvid2_processRequest()
Is using a finite timeout with Fvid2_processRequest() officially supported and validated for the VHWA M2M drivers?
The implementation appears to support this by returning FVID2_EAGAIN when SystemP_TIMEOUT occurs. However, all TI sample applications use FVID2_TIMEOUT_FOREVER.
Can a finite timeout be safely used as a recovery mechanism for watchdog-related hangs?






