diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-01 07:51:39 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:14:51 -0400 |
commit | 13595a51c0da8ec212ba6f5df79519dbd74166c0 (patch) | |
tree | b013f7d1714e9f627d8f01bcd2fcf0a5d330ee23 /drivers/media/video/cx88/cx88-input.c | |
parent | b25be97929c85b2017379e05588740f564a61c22 (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.c | 4 |
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 | ||
161 | static void cx88_ir_start(struct cx88_core *core, struct cx88_IR *ir) | 161 | void 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 | ||
175 | static void cx88_ir_stop(struct cx88_core *core, struct cx88_IR *ir) | 175 | void 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); |