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 <sean@xxxxxxxx> --- 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