diff --git a/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c b/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c index 8201c15b57699393aef9d8da744053e0dd3e0c67..d170d0adfea4097a0eed26f050c3f69934122ee8 100644 --- a/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c +++ b/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c @@ -874,11 +874,12 @@ static int gc0310_s_power(struct v4l2_subdev *sd, int on) if (on == 0) return power_down(sd); + ret = power_up(sd); - if (!ret) - return gc0310_init(sd); + if (ret) + return ret; - return ret; + return gc0310_init(sd); } /*