media: dw9807-vcm: Fix probe error handling
authorSakari Ailus <sakari.ailus@linux.intel.com>
Fri, 5 Oct 2018 21:20:09 +0000 (17:20 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 24 Nov 2019 07:20:40 +0000 (08:20 +0100)
[ Upstream commit 9e5b5081fa117ae34eca94b63b1cb6d43dc28f10 ]

v4l2_async_unregister_subdev() may not be called without
v4l2_async_register_subdev() being called first. Fix this.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/i2c/dw9807-vcm.c

index 8ba3920..5477ba3 100644 (file)
@@ -218,7 +218,8 @@ static int dw9807_probe(struct i2c_client *client)
        return 0;
 
 err_cleanup:
-       dw9807_subdev_cleanup(dw9807_dev);
+       v4l2_ctrl_handler_free(&dw9807_dev->ctrls_vcm);
+       media_entity_cleanup(&dw9807_dev->sd.entity);
 
        return rval;
 }