}
 
 /* download ov5640 settings to sensor through i2c */
+static int ov5640_set_timings(struct ov5640_dev *sensor,
+                             const struct ov5640_mode_info *mode)
+{
+       int ret;
+
+       ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_DVPHO, mode->hact);
+       if (ret < 0)
+               return ret;
+
+       ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_DVPVO, mode->vact);
+       if (ret < 0)
+               return ret;
+
+       ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_HTS, mode->htot);
+       if (ret < 0)
+               return ret;
+
+       return ov5640_write_reg16(sensor, OV5640_REG_TIMING_VTS, mode->vtot);
+}
+
 static int ov5640_load_regs(struct ov5640_dev *sensor,
                            const struct ov5640_mode_info *mode)
 {
                        usleep_range(1000 * delay_ms, 1000 * delay_ms + 100);
        }
 
-       return ret;
+       return ov5640_set_timings(sensor, mode);
 }
 
 /* read exposure, in number of line periods */
        return ov5640_write_reg(sensor, OV5640_REG_DEBUG_MODE, temp);
 }
 
-static int ov5640_set_timings(struct ov5640_dev *sensor,
-                             const struct ov5640_mode_info *mode)
-{
-       int ret;
-
-       ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_DVPHO, mode->hact);
-       if (ret < 0)
-               return ret;
-
-       ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_DVPVO, mode->vact);
-       if (ret < 0)
-               return ret;
-
-       ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_HTS, mode->htot);
-       if (ret < 0)
-               return ret;
-
-       ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_VTS, mode->vtot);
-       if (ret < 0)
-               return ret;
-
-       return 0;
-}
-
 static const struct ov5640_mode_info *
 ov5640_find_mode(struct ov5640_dev *sensor, enum ov5640_frame_rate fr,
                 int width, int height, bool nearest)
                ret = ov5640_set_mode_direct(sensor, mode, exposure);
        }
 
-       if (ret < 0)
-               return ret;
-
-       ret = ov5640_set_timings(sensor, mode);
        if (ret < 0)
                return ret;