summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-03-26 02:07:35 +0000
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-03-26 02:07:35 +0000
commit8d43b0523eed9b6e7ca6b8cb27708e4270ed1620 (patch)
tree79856dafe338487bd857deef406f24a88b167c28 /linux/drivers
parent5816c88669af129f60e01b6f77fe7a316d6b957b (diff)
downloadmediapointer-dvb-s2-8d43b0523eed9b6e7ca6b8cb27708e4270ed1620.tar.gz
mediapointer-dvb-s2-8d43b0523eed9b6e7ca6b8cb27708e4270ed1620.tar.bz2
cx88: fix oops on module removal caused by IR worker
From: Marton Balint <cus@fazekas.hu> If the IR worker is not stopped before the removal of the cx88xx module, an OOPS may occur, because the worker function cx88_ir_work gets called. So stop the ir worker. Signed-off-by: Marton Balint <cus@fazekas.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/video/cx88/cx88-video.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c
index 8b64f72cd..ab67d99d9 100644
--- a/linux/drivers/media/video/cx88/cx88-video.c
+++ b/linux/drivers/media/video/cx88/cx88-video.c
@@ -2221,6 +2221,9 @@ static void __devexit cx8800_finidev(struct pci_dev *pci_dev)
core->kthread = NULL;
}
+ if (core->ir)
+ cx88_ir_stop(core, core->ir);
+
cx88_shutdown(core); /* FIXME */
pci_disable_device(pci_dev);