Parcourir la 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 il y a 18 ans
Parent
commit
b12203d253
1 fichiers modifiés avec 3 ajouts et 0 suppressions
  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);