Browse Source

msm: camera: icp: Fix potential deadlock scenario in cam_hfi_init

Make sure we perform the necessary unlock operations before we return
on an invalid HFI state.

CRs-Fixed: 2783934
Change-Id: I7c611fb98d245952f2f4e9a57dc5fcb249572a40
Signed-off-by: Fernando Pacheco <[email protected]>
Fernando Pacheco 4 years ago
parent
commit
033864b04f
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/cam_icp/hfi.c

+ 2 - 1
drivers/cam_icp/hfi.c

@@ -647,7 +647,8 @@ int cam_hfi_init(struct hfi_mem_info *hfi_mem, const struct hfi_ops *hfi_ops,
 
 	if (g_hfi->hfi_state != HFI_DEINIT) {
 		CAM_ERR(CAM_HFI, "hfi_init: invalid state");
-		return -EINVAL;
+		rc = -EINVAL;
+		goto regions_fail;
 	}
 
 	memcpy(&g_hfi->map, hfi_mem, sizeof(g_hfi->map));