Browse Source

V4L/DVB (7449): cx88: fix oops on module removal caused by IR worker

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>
Marton Balint 17 years ago
parent
commit
b12203d253
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/media/video/cx88/cx88-video.c

+ 3 - 0
drivers/media/video/cx88/cx88-video.c

@@ -1920,6 +1920,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);