OSDN Git Service

msm: actuator: Add protection condition for move focus
authorPengfei Liu <pengfeiliu@codeaurora.org>
Thu, 29 Jun 2017 03:40:24 +0000 (11:40 +0800)
committerGerrit - the friendly Code Review server <code-review@localhost>
Fri, 30 Jun 2017 07:43:59 +0000 (00:43 -0700)
Neighbour index of step table possibly have same position,
so i2c operation reported invalid size parameters.
we add protection condition to return success value.

Change-Id: I7dab8f44a99c7c3c7d6996c8decb8bcd09c246c9
Signed-off-by: penliu <pengfeiliu@codeaurora.org>
drivers/media/platform/msm/camera_v2/sensor/actuator/msm_actuator.c

index cd48f87..bc844bb 100644 (file)
@@ -573,7 +573,10 @@ static int32_t msm_actuator_move_focus(
 
        CDBG("called, dir %d, num_steps %d\n", dir, num_steps);
 
-       if (dest_step_pos == a_ctrl->curr_step_pos)
+       if ((dest_step_pos == a_ctrl->curr_step_pos) ||
+               ((dest_step_pos <= a_ctrl->total_steps) &&
+               (a_ctrl->step_position_table[dest_step_pos] ==
+               a_ctrl->step_position_table[a_ctrl->curr_step_pos])))
                return rc;
 
        if ((sign_dir > MSM_ACTUATOR_MOVE_SIGNED_NEAR) ||