There are many IR devices which cannot modify their timeout, but do
have a timeout which should be reported (e.g. mtk_cir).

Signed-off-by: Sean Young <s...@mess.org>
---
 utils/ir-ctl/ir-ctl.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c
index 8aead6e0..ef399808 100644
--- a/utils/ir-ctl/ir-ctl.c
+++ b/utils/ir-ctl/ir-ctl.c
@@ -966,13 +966,16 @@ static void lirc_features(struct arguments *args, int fd, 
unsigned features)
                        printf(_(" - Use wideband receiver\n"));
                if (features & LIRC_CAN_MEASURE_CARRIER)
                        printf(_(" - Can measure carrier\n"));
+
+               // This ioctl is only supported from kernel 4.18 onwards
+               unsigned timeout;
+               int rc = ioctl(fd, LIRC_GET_REC_TIMEOUT, &timeout);
+               if (rc == 0)
+                       printf(_(" - Receiving timeout %u microseconds\n"), 
timeout);
+
                if (features & LIRC_CAN_SET_REC_TIMEOUT) {
-                       unsigned min_timeout, max_timeout, timeout;
+                       unsigned min_timeout, max_timeout;
 
-                       // This ioctl is only supported from kernel 4.18 onwards
-                       int rc = ioctl(fd, LIRC_GET_REC_TIMEOUT, &timeout);
-                       if (rc == 0)
-                               printf(_(" - Receiving timeout %u 
microseconds\n"), timeout);
                        rc = ioctl(fd, LIRC_GET_MIN_TIMEOUT, &min_timeout);
                        if (rc) {
                                fprintf(stderr, _("warning: %s: device supports 
setting receiving timeout but LIRC_GET_MIN_TIMEOUT returns: %m\n"), dev);
-- 
2.21.0

Reply via email to