فهرست منبع

[media] lirc: advertise LIRC_CAN_GET_REC_RESOLUTION and improve

This feature was never set. The ioctl should fail if no resolution
is set.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Sean Young 8 سال پیش
والد
کامیت
e8f4818895
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 7 1
      drivers/media/rc/ir-lirc-codec.c

+ 7 - 1
drivers/media/rc/ir-lirc-codec.c

@@ -263,6 +263,9 @@ static long ir_lirc_ioctl(struct file *filep, unsigned int cmd,
 		return 0;
 		return 0;
 
 
 	case LIRC_GET_REC_RESOLUTION:
 	case LIRC_GET_REC_RESOLUTION:
+		if (!dev->rx_resolution)
+			return -ENOTTY;
+
 		val = dev->rx_resolution;
 		val = dev->rx_resolution;
 		break;
 		break;
 
 
@@ -367,8 +370,11 @@ static int ir_lirc_register(struct rc_dev *dev)
 	if (rc)
 	if (rc)
 		goto rbuf_init_failed;
 		goto rbuf_init_failed;
 
 
-	if (dev->driver_type != RC_DRIVER_IR_RAW_TX)
+	if (dev->driver_type != RC_DRIVER_IR_RAW_TX) {
 		features |= LIRC_CAN_REC_MODE2;
 		features |= LIRC_CAN_REC_MODE2;
+		if (dev->rx_resolution)
+			features |= LIRC_CAN_GET_REC_RESOLUTION;
+	}
 	if (dev->tx_ir) {
 	if (dev->tx_ir) {
 		features |= LIRC_CAN_SEND_PULSE;
 		features |= LIRC_CAN_SEND_PULSE;
 		if (dev->s_tx_mask)
 		if (dev->s_tx_mask)