OSDN Git Service

[media] em28xx-video: do not unregister the v4l2 dummy clock before v4l2_device_unreg...
authorFrank Schaefer <fschaefer.oss@googlemail.com>
Fri, 17 Jan 2014 17:45:30 +0000 (14:45 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 4 Feb 2014 18:40:26 +0000 (16:40 -0200)
Otherwiese the core refuses to unregister the clock and the following warning
appears in the system log:

"WARNING: ... at drivers/media/v4l2-core/v4l2-clk.c:231 v4l2_clk_unregister+0x8a/0x90 [videodev]()
 v4l2_clk_unregister(): Refusing to unregister ref-counted 11-0030:mclk clock!"

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/em28xx/em28xx-video.c

index c3c9289..09e18da 100644 (file)
@@ -1918,14 +1918,14 @@ static int em28xx_v4l2_fini(struct em28xx *dev)
                video_unregister_device(dev->vdev);
        }
 
+       v4l2_ctrl_handler_free(&dev->ctrl_handler);
+       v4l2_device_unregister(&dev->v4l2_dev);
+
        if (dev->clk) {
                v4l2_clk_unregister_fixed(dev->clk);
                dev->clk = NULL;
        }
 
-       v4l2_ctrl_handler_free(&dev->ctrl_handler);
-       v4l2_device_unregister(&dev->v4l2_dev);
-
        if (dev->users)
                em28xx_warn("Device is open ! Memory deallocation is deferred on last close.\n");
        mutex_unlock(&dev->lock);