media: dw9714: Fix error handling in probe function
authorRajmohan Mani <rajmohan.mani@intel.com>
Fri, 5 Oct 2018 16:22:17 +0000 (12:22 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 24 Nov 2019 07:20:39 +0000 (08:20 +0100)
[ Upstream commit f9a0b14240a2d0bd196d35e8aac73df6eabd6382 ]

Fixed the case where v4l2_async_unregister_subdev()
is called unnecessarily in the error handling path
in probe function.

Signed-off-by: Rajmohan Mani <rajmohan.mani@intel.com>
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/dw9714.c

index 91fae01..3dc2100 100644 (file)
@@ -169,7 +169,8 @@ static int dw9714_probe(struct i2c_client *client)
        return 0;
 
 err_cleanup:
-       dw9714_subdev_cleanup(dw9714_dev);
+       v4l2_ctrl_handler_free(&dw9714_dev->ctrls_vcm);
+       media_entity_cleanup(&dw9714_dev->sd.entity);
        dev_err(&client->dev, "Probe failed: %d\n", rval);
        return rval;
 }