diff options
-rw-r--r-- | drivers/media/rc/img-ir/img-ir-hw.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/rc/img-ir/img-ir-hw.c b/drivers/media/rc/img-ir/img-ir-hw.c index ec49f94425fc..9db065344b41 100644 --- a/drivers/media/rc/img-ir/img-ir-hw.c +++ b/drivers/media/rc/img-ir/img-ir-hw.c | |||
@@ -541,10 +541,12 @@ static void img_ir_set_decoder(struct img_ir_priv *priv, | |||
541 | if (ir_status & (IMG_IR_RXDVAL | IMG_IR_RXDVALD2)) { | 541 | if (ir_status & (IMG_IR_RXDVAL | IMG_IR_RXDVALD2)) { |
542 | ir_status &= ~(IMG_IR_RXDVAL | IMG_IR_RXDVALD2); | 542 | ir_status &= ~(IMG_IR_RXDVAL | IMG_IR_RXDVALD2); |
543 | img_ir_write(priv, IMG_IR_STATUS, ir_status); | 543 | img_ir_write(priv, IMG_IR_STATUS, ir_status); |
544 | img_ir_read(priv, IMG_IR_DATA_LW); | ||
545 | img_ir_read(priv, IMG_IR_DATA_UP); | ||
546 | } | 544 | } |
547 | 545 | ||
546 | /* always read data to clear buffer if IR wakes the device */ | ||
547 | img_ir_read(priv, IMG_IR_DATA_LW); | ||
548 | img_ir_read(priv, IMG_IR_DATA_UP); | ||
549 | |||
548 | /* stop the end timer and switch back to normal mode */ | 550 | /* stop the end timer and switch back to normal mode */ |
549 | del_timer_sync(&hw->end_timer); | 551 | del_timer_sync(&hw->end_timer); |
550 | hw->mode = IMG_IR_M_NORMAL; | 552 | hw->mode = IMG_IR_M_NORMAL; |