|
@@ -286,6 +286,8 @@ static int hdpvr_probe(struct usb_interface *interface,
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ dev->workqueue = 0;
|
|
|
|
+
|
|
/* register v4l2_device early so it can be used for printks */
|
|
/* register v4l2_device early so it can be used for printks */
|
|
if (v4l2_device_register(&interface->dev, &dev->v4l2_dev)) {
|
|
if (v4l2_device_register(&interface->dev, &dev->v4l2_dev)) {
|
|
err("v4l2_device_register failed");
|
|
err("v4l2_device_register failed");
|
|
@@ -380,6 +382,9 @@ static int hdpvr_probe(struct usb_interface *interface,
|
|
|
|
|
|
error:
|
|
error:
|
|
if (dev) {
|
|
if (dev) {
|
|
|
|
+ /* Destroy single thread */
|
|
|
|
+ if (dev->workqueue)
|
|
|
|
+ destroy_workqueue(dev->workqueue);
|
|
/* this frees allocated memory */
|
|
/* this frees allocated memory */
|
|
hdpvr_delete(dev);
|
|
hdpvr_delete(dev);
|
|
}
|
|
}
|