Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89d8a2cc authored by Sean Young's avatar Sean Young Committed by Mauro Carvalho Chehab
Browse files

media: lirc_zilog: driver only sends LIRCCODE



This driver cannot send pulse, it only accepts driver-dependent codes.

Cc: <stable@vger.kernel.org> # v3.2
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent b429996c
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -288,7 +288,7 @@ static void release_ir_tx(struct kref *ref)
	struct IR_tx *tx = container_of(ref, struct IR_tx, ref);
	struct IR *ir = tx->ir;

	ir->l.features &= ~LIRC_CAN_SEND_PULSE;
	ir->l.features &= ~LIRC_CAN_SEND_LIRCCODE;
	/* Don't put_ir_device(tx->ir) here, so our lock doesn't get freed */
	ir->tx = NULL;
	kfree(tx);
@@ -1267,14 +1267,14 @@ static long ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
		if (!(features & LIRC_CAN_SEND_MASK))
			return -ENOTTY;

		result = put_user(LIRC_MODE_PULSE, uptr);
		result = put_user(LIRC_MODE_LIRCCODE, uptr);
		break;
	case LIRC_SET_SEND_MODE:
		if (!(features & LIRC_CAN_SEND_MASK))
			return -ENOTTY;

		result = get_user(mode, uptr);
		if (!result && mode != LIRC_MODE_PULSE)
		if (!result && mode != LIRC_MODE_LIRCCODE)
			return -EINVAL;
		break;
	default:
@@ -1512,7 +1512,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
		kref_init(&tx->ref);
		ir->tx = tx;

		ir->l.features |= LIRC_CAN_SEND_PULSE;
		ir->l.features |= LIRC_CAN_SEND_LIRCCODE;
		mutex_init(&tx->client_lock);
		tx->c = client;
		tx->need_boot = 1;