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)); }