summaryrefslogtreecommitdiff
path: root/drivers/media/video/cx18/cx18-driver.c
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2008-11-05 21:19:15 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 09:38:01 -0200
commitf68d0cf56761128e85ebc98d8de4776b89c30279 (patch)
tree3c0af57cc1909728bef2397b2e9a58305fdea301 /drivers/media/video/cx18/cx18-driver.c
parent13563f44a27a07dfade36662903037edbf8a6e01 (diff)
V4L/DVB (9592): cx18: Use default kernel work queue; fix streaming flag for work handler
cx18: Use default kernel work queue; fix streaming flag for work handler. Eliminate cx18 specific work queue and use the kernel default work queue. Fixed the F_STREAMING_FLAG for the TS stream so cx18_dvb_work_handler() can know when it is not safe to send MDLs to the firmware. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx18/cx18-driver.c')
-rw-r--r--drivers/media/video/cx18/cx18-driver.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
index d7879fb1d21f..6799eab8b6ac 100644
--- a/drivers/media/video/cx18/cx18-driver.c
+++ b/drivers/media/video/cx18/cx18-driver.c
@@ -449,12 +449,6 @@ static int __devinit cx18_init_struct1(struct cx18 *cx)
spin_lock_init(&cx->lock);
- cx->work_queue = create_singlethread_workqueue(cx->name);
- if (cx->work_queue == NULL) {
- CX18_ERR("Could not create work queue\n");
- return -1;
- }
-
INIT_WORK(&cx->work, cx18_work_handler);
/* start counting open_id at 1 */
@@ -837,7 +831,6 @@ free_map:
free_mem:
release_mem_region(cx->base_addr, CX18_MEM_SIZE);
free_workqueue:
- destroy_workqueue(cx->work_queue);
err:
if (retval == 0)
retval = -ENODEV;
@@ -938,8 +931,7 @@ static void cx18_remove(struct pci_dev *pci_dev)
cx18_halt_firmware(cx);
- flush_workqueue(cx->work_queue);
- destroy_workqueue(cx->work_queue);
+ flush_scheduled_work();
cx18_streams_cleanup(cx, 1);