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

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
---
 drivers/media/i2c/dw9807-vcm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/media/i2c/dw9807-vcm.c b/drivers/media/i2c/dw9807-vcm.c
index a532c57dc636..73b0e10dc591 100644
--- a/drivers/media/i2c/dw9807-vcm.c
+++ b/drivers/media/i2c/dw9807-vcm.c
@@ -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;
 }
-- 
2.11.0

Reply via email to