diff options
Diffstat (limited to 'drivers/media/video/cx18/cx18-driver.c')
-rw-r--r-- | drivers/media/video/cx18/cx18-driver.c | 10 |
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) | |||
449 | 449 | ||
450 | spin_lock_init(&cx->lock); | 450 | spin_lock_init(&cx->lock); |
451 | 451 | ||
452 | cx->work_queue = create_singlethread_workqueue(cx->name); | ||
453 | if (cx->work_queue == NULL) { | ||
454 | CX18_ERR("Could not create work queue\n"); | ||
455 | return -1; | ||
456 | } | ||
457 | |||
458 | INIT_WORK(&cx->work, cx18_work_handler); | 452 | INIT_WORK(&cx->work, cx18_work_handler); |
459 | 453 | ||
460 | /* start counting open_id at 1 */ | 454 | /* start counting open_id at 1 */ |
@@ -837,7 +831,6 @@ free_map: | |||
837 | free_mem: | 831 | free_mem: |
838 | release_mem_region(cx->base_addr, CX18_MEM_SIZE); | 832 | release_mem_region(cx->base_addr, CX18_MEM_SIZE); |
839 | free_workqueue: | 833 | free_workqueue: |
840 | destroy_workqueue(cx->work_queue); | ||
841 | err: | 834 | err: |
842 | if (retval == 0) | 835 | if (retval == 0) |
843 | retval = -ENODEV; | 836 | retval = -ENODEV; |
@@ -938,8 +931,7 @@ static void cx18_remove(struct pci_dev *pci_dev) | |||
938 | 931 | ||
939 | cx18_halt_firmware(cx); | 932 | cx18_halt_firmware(cx); |
940 | 933 | ||
941 | flush_workqueue(cx->work_queue); | 934 | flush_scheduled_work(); |
942 | destroy_workqueue(cx->work_queue); | ||
943 | 935 | ||
944 | cx18_streams_cleanup(cx, 1); | 936 | cx18_streams_cleanup(cx, 1); |
945 | 937 | ||