aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/ite-cir.c
diff options
context:
space:
mode:
authorJarod Wilson <jarod@redhat.com>2011-05-09 11:48:33 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-20 15:57:22 -0300
commitae7b4d4bb5d6769ba64cdfca9d8e77dd4e671f6d (patch)
tree2d84f820d2b002b068567900619d40e6168bdf24 /drivers/media/rc/ite-cir.c
parent76a2d21d96fba4d0e94cf191eb3716ea7c4916e8 (diff)
downloadkernel_samsung_espresso10-ae7b4d4bb5d6769ba64cdfca9d8e77dd4e671f6d.zip
kernel_samsung_espresso10-ae7b4d4bb5d6769ba64cdfca9d8e77dd4e671f6d.tar.gz
kernel_samsung_espresso10-ae7b4d4bb5d6769ba64cdfca9d8e77dd4e671f6d.tar.bz2
[media] ite-cir: make IR receive work after resume
Just recently acquired an Asus Eee Box PC with an onboard IR receiver driven by ite-cir (ITE8713 sub-variant). Works out of the box with the ite-cir driver in 2.6.39, but stops working after a suspend/resume cycle. Its fixed by simply reinitializing registers after resume, similar to what's done in the nuvoton-cir driver. I've not tested with any other ITE variant, but code inspection suggests this should be safe on all variants. Reported-by: Stephan Raue <sraue@openelec.tv> CC: Juan Jesús García de Soria <skandalfo@gmail.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/rc/ite-cir.c')
-rw-r--r--drivers/media/rc/ite-cir.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
index 43908a7..253837e 100644
--- a/drivers/media/rc/ite-cir.c
+++ b/drivers/media/rc/ite-cir.c
@@ -1684,6 +1684,8 @@ static int ite_resume(struct pnp_dev *pdev)
/* wake up the transmitter */
wake_up_interruptible(&dev->tx_queue);
} else {
+ /* reinitialize hardware config registers */
+ dev->params.init_hardware(dev);
/* enable the receiver */
dev->params.enable_rx(dev);
}