aboutsummaryrefslogtreecommitdiffstats
path: root/utils/cec-compliance/cec-test-power.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/cec-compliance/cec-test-power.cpp')
-rw-r--r--utils/cec-compliance/cec-test-power.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/utils/cec-compliance/cec-test-power.cpp b/utils/cec-compliance/cec-test-power.cpp
index e3360d17..1f9c7e80 100644
--- a/utils/cec-compliance/cec-test-power.cpp
+++ b/utils/cec-compliance/cec-test-power.cpp
@@ -426,7 +426,13 @@ static int wakeup_tv(struct node *node, unsigned me, unsigned la)
cec_msg_init(&msg, me, la);
cec_msg_image_view_on(&msg);
- fail_on_test(!transmit_timeout(node, &msg));
+ msg.timeout = 2000;
+ int res = doioctl(node, CEC_TRANSMIT, &msg);
+ if (res == ENONET && la == CEC_LOG_ADDR_TV) {
+ msg.msg[0] = (CEC_LOG_ADDR_UNREGISTERED << 4) | la;
+ res = doioctl(node, CEC_TRANSMIT, &msg);
+ }
+ fail_on_test(res || !(msg.tx_status & CEC_TX_STATUS_OK));
if (!cec_msg_status_is_abort(&msg))
return 0;
@@ -460,7 +466,7 @@ static int standby_resume_wakeup(struct node *node, unsigned me, unsigned la, bo
int ret;
if (is_tv(la, node->remote[la].prim_type))
- ret = wakeup_tv(node, CEC_LOG_ADDR_UNREGISTERED, la);
+ ret = wakeup_tv(node, me, la);
else
ret = wakeup_source(node, me, la);
if (ret)

Privacy Policy