mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 21:22:09 -04:00
msm: camera: sensor: unregister subdev if cpas registration fails
In case if the CPAS registration is failed before freeing the memory of the subdev, subdev need to be unregistered so that subdev list entry will not become NULL and other subdev can be added. CRs-Fixed: 2708016 Change-Id: I464c73411596fc562fc7a190ddfa130f23ee487a Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
This commit is contained in:
parent
8c5f76e807
commit
151c426683
2 changed files with 8 additions and 2 deletions
|
|
@ -441,7 +441,7 @@ static int cam_cci_component_bind(struct device *dev,
|
|||
rc = cam_cpas_register_client(&cpas_parms);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_CCI, "CPAS registration failed rc:%d", rc);
|
||||
goto cci_no_resource;
|
||||
goto cci_unregister_subdev;
|
||||
}
|
||||
|
||||
CAM_DBG(CAM_CCI, "CPAS registration successful handle=%d",
|
||||
|
|
@ -449,6 +449,9 @@ static int cam_cci_component_bind(struct device *dev,
|
|||
new_cci_dev->cpas_handle = cpas_parms.client_handle;
|
||||
CAM_DBG(CAM_CCI, "Component bound successfully");
|
||||
return rc;
|
||||
|
||||
cci_unregister_subdev:
|
||||
cam_unregister_subdev(&(new_cci_dev->v4l2_dev_str));
|
||||
cci_no_resource:
|
||||
devm_kfree(&pdev->dev, new_cci_dev);
|
||||
return rc;
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ static int cam_csiphy_component_bind(struct device *dev,
|
|||
rc = cam_cpas_register_client(&cpas_parms);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_CSIPHY, "CPAS registration failed rc: %d", rc);
|
||||
goto csiphy_no_resource;
|
||||
goto csiphy_unregister_subdev;
|
||||
}
|
||||
|
||||
CAM_DBG(CAM_CSIPHY, "CPAS registration successful handle=%d",
|
||||
|
|
@ -220,6 +220,9 @@ static int cam_csiphy_component_bind(struct device *dev,
|
|||
CAM_DBG(CAM_CSIPHY, "%s component bound successfully",
|
||||
pdev->name);
|
||||
return rc;
|
||||
|
||||
csiphy_unregister_subdev:
|
||||
cam_unregister_subdev(&(new_csiphy_dev->v4l2_dev_str));
|
||||
csiphy_no_resource:
|
||||
mutex_destroy(&new_csiphy_dev->mutex);
|
||||
kfree(new_csiphy_dev->ctrl_reg);
|
||||
|
|
|
|||
Loading…
Reference in a new issue