msm: camera: isp: Fix failure due to dereference of invalid ife device

During reset of vfe hw, we are referencing an ife device which might
not be available. Add condition to check ife device validity before
reset.

CRs-Fixed: 2584631
Change-Id: Ibf9e3e0a3696cf006977af60360a964748e8ef38
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
This commit is contained in:
Mukund Madhusudan Atre
2020-02-17 19:22:28 -08:00
parent 90d0abfbfd
commit 3abdf420b1
2 changed files with 3 additions and 2 deletions

View File

@@ -3948,7 +3948,8 @@ static int cam_ife_mgr_reset_vfe_hw(struct cam_ife_hw_mgr *hw_mgr,
vfe_reset_type = CAM_VFE_HW_RESET_HW;
for (i = 0; i < CAM_VFE_HW_NUM_MAX; i++) {
if (hw_idx != hw_mgr->ife_devices[i]->hw_idx)
if ((!hw_mgr->ife_devices[i]) ||
(hw_idx != hw_mgr->ife_devices[i]->hw_idx))
continue;
CAM_DBG(CAM_ISP, "VFE (id = %d) reset", hw_idx);
vfe_hw_intf = hw_mgr->ife_devices[i];

View File

@@ -14,7 +14,7 @@
#include "cam_vfe_soc.h"
#include "cam_debug_util.h"
static struct cam_hw_intf *cam_vfe_hw_list[CAM_VFE_HW_NUM_MAX] = {0, 0, 0, 0};
static struct cam_hw_intf *cam_vfe_hw_list[CAM_VFE_HW_NUM_MAX];
static char vfe_dev_name[8];