aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-input.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-10-01 07:51:39 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:14:51 -0400
commit13595a51c0da8ec212ba6f5df79519dbd74166c0 (patch)
treeb013f7d1714e9f627d8f01bcd2fcf0a5d330ee23 /drivers/media/video/cx88/cx88-input.c
parentb25be97929c85b2017379e05588740f564a61c22 (diff)
V4L/DVB (6247): Fix bug #8689: Fixes IR stop/start during suspend/resume
IR workqueue should be disabled during suspend. This avoids some troubles, like the one reported on bug #8689: "The Hauppauge HVR 1100 ir-remote control does not work after resume from suspend to ram or disk." This patch disables IR before suspending, re-enabling it after resume. Thanks to Peter Poklop <Peter.Poklop@gmx.at> for reporting it and helping with the fix. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> Reviewed-by: Peter Poklop <Peter.Poklop@gmx.at>
Diffstat (limited to 'drivers/media/video/cx88/cx88-input.c')
-rw-r--r--drivers/media/video/cx88/cx88-input.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c
index 78adf4d1cf63..e52de3968c63 100644
--- a/drivers/media/video/cx88/cx88-input.c
+++ b/drivers/media/video/cx88/cx88-input.c
@@ -158,7 +158,7 @@ static void cx88_ir_work(struct work_struct *work)
158 mod_timer(&ir->timer, jiffies + msecs_to_jiffies(ir->polling)); 158 mod_timer(&ir->timer, jiffies + msecs_to_jiffies(ir->polling));
159} 159}
160 160
161static void cx88_ir_start(struct cx88_core *core, struct cx88_IR *ir) 161void cx88_ir_start(struct cx88_core *core, struct cx88_IR *ir)
162{ 162{
163 if (ir->polling) { 163 if (ir->polling) {
164 setup_timer(&ir->timer, ir_timer, (unsigned long)ir); 164 setup_timer(&ir->timer, ir_timer, (unsigned long)ir);
@@ -172,7 +172,7 @@ static void cx88_ir_start(struct cx88_core *core, struct cx88_IR *ir)
172 } 172 }
173} 173}
174 174
175static void cx88_ir_stop(struct cx88_core *core, struct cx88_IR *ir) 175void cx88_ir_stop(struct cx88_core *core, struct cx88_IR *ir)
176{ 176{
177 if (ir->sampling) { 177 if (ir->sampling) {
178 cx_write(MO_DDSCFG_IO, 0x0); 178 cx_write(MO_DDSCFG_IO, 0x0);