Browse Source

[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>
Sean Young 13 years ago
parent
commit
116e4f592a
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/media/rc/iguanair.c

+ 4 - 0
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));
 }