msm: isp: Avoid unaligned register access

Unaligned register access will reslut in device
crash. Avoid them by checking the register address
before accessing them.

Change-Id: Ib58efa2a68115ec9929b9270c123c904737196ee
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
This commit is contained in:
Abhishek Kondaveeti 2016-04-12 15:50:57 +05:30 committed by Kyle Yan
parent b5bb5c7d6f
commit aa540b624d

View file

@ -976,7 +976,8 @@ static int msm_isp_send_hw_cmd(struct vfe_device *vfe_dev,
(UINT_MAX - reg_cfg_cmd->u.rw_info.len)) ||
((reg_cfg_cmd->u.rw_info.reg_offset +
reg_cfg_cmd->u.rw_info.len) >
vfe_dev->vfe_base_size)) {
vfe_dev->vfe_base_size) ||
(reg_cfg_cmd->u.rw_info.reg_offset & 0x3)) {
pr_err("%s:%d reg_offset %d len %d res %d\n",
__func__, __LINE__,
reg_cfg_cmd->u.rw_info.reg_offset,
@ -1076,7 +1077,8 @@ static int msm_isp_send_hw_cmd(struct vfe_device *vfe_dev,
reg_cfg_cmd->u.mask_info.reg_offset) ||
(vfe_dev->vfe_base_size <
reg_cfg_cmd->u.mask_info.reg_offset +
sizeof(temp))) {
sizeof(temp)) ||
(reg_cfg_cmd->u.mask_info.reg_offset & 0x3)) {
pr_err("%s: VFE_CFG_MASK: Invalid length\n", __func__);
return -EINVAL;
}