summaryrefslogtreecommitdiffstats
path: root/drivers/media/rc
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2012-08-13 13:59:44 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-13 21:07:19 +0200
commit116e4f592a4d207031b2eaf9dacb57de587146ef (patch)
tree6d23c9084c7cc9c5dc0c003fcef7f8465f3c091b /drivers/media/rc
parent[media] iguanair: fix return value for transmit (diff)
downloadlinux-116e4f592a4d207031b2eaf9dacb57de587146ef.tar.xz
linux-116e4f592a4d207031b2eaf9dacb57de587146ef.zip
[media] iguanair: reset the IR state after rx overflow or receiver enable
Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/rc')
-rw-r--r--drivers/media/rc/iguanair.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c
index 68172585c961..8de690aa2c7e 100644
--- a/drivers/media/rc/iguanair.c
+++ b/drivers/media/rc/iguanair.c
@@ -123,6 +123,7 @@ static void process_ir_data(struct iguanair *ir, unsigned len)
break;
case CMD_RX_OVERFLOW:
dev_warn(ir->dev, "receive overflow\n");
+ ir_raw_event_reset(ir->rc);
break;
default:
dev_warn(ir->dev, "control code %02x received\n",
@@ -255,6 +256,9 @@ static int iguanair_receiver(struct iguanair *ir, bool enable)
struct packet packet = { 0, DIR_OUT, enable ?
CMD_RECEIVER_ON : CMD_RECEIVER_OFF };
+ if (enable)
+ ir_raw_event_reset(ir->rc);
+
return iguanair_send(ir, &packet, sizeof(packet));
}