Skip to content

Commit 4b8146e

Browse files
RDKEMW-6230: Retry logic used dsGetHDMIARCPortId in HdmiCecSink (#203)
* RDKEMW-6230: Retry logic used dsGetHDMIARCPortId in HdmiCecSink Signed-off-by: yuvaramachandran_gurusamy <[email protected]> * RDKEMW-6230: Fix L1 test build failure Signed-off-by: yuvaramachandran_gurusamy <[email protected]> --------- Signed-off-by: yuvaramachandran_gurusamy <[email protected]>
1 parent 760ee0f commit 4b8146e

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

HdmiCecSink/HdmiCecSink.cpp

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3531,15 +3531,25 @@ namespace WPEFramework
35313531
{
35323532
int err;
35333533
dsGetHDMIARCPortIdParam_t param;
3534-
err = IARM_Bus_Call(IARM_BUS_DSMGR_NAME,
3535-
(char *)IARM_BUS_DSMGR_API_dsGetHDMIARCPortId,
3536-
(void *)&param,
3537-
sizeof(param));
3538-
if (IARM_RESULT_SUCCESS == err)
3539-
{
3540-
LOGINFO("HDMI ARC port ID HdmiArcPortID=[%d] \n", param.portId);
3541-
HdmiArcPortID = param.portId;
3542-
}
3534+
unsigned int retryCount = 1;
3535+
do {
3536+
usleep(50000); // Sleep for 50ms before retrying
3537+
param.portId = -1; // Initialize to an invalid port ID
3538+
err = IARM_Bus_Call(IARM_BUS_DSMGR_NAME,
3539+
(char *)IARM_BUS_DSMGR_API_dsGetHDMIARCPortId,
3540+
(void *)&param,
3541+
sizeof(param));
3542+
if (IARM_RESULT_SUCCESS == err)
3543+
{
3544+
LOGINFO("HDMI ARC port ID HdmiArcPortID[%d] on retry count[%d]", param.portId, retryCount);
3545+
HdmiArcPortID = param.portId;
3546+
break;
3547+
}
3548+
else
3549+
{
3550+
LOGWARN("IARM_Bus_Call failed with error[%d], retry count[%d]", err, retryCount);
3551+
}
3552+
} while(retryCount++ <= 6);
35433553
}
35443554

35453555
void HdmiCecSink::getCecVersion()

Tests/L1Tests/tests/test_HdmiCecSink.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
#include <string>
2424

2525

26-
#include "HdmiCecSinkImplementation.h"
27-
#include "HdmiCecSinkMock.h"
2826
#include "HdmiCecSink.h"
2927
#include "FactoriesImplementation.h"
3028
#include "IarmBusMock.h"

0 commit comments

Comments
 (0)