struct imx412 *imx412 = to_imx412(sd);
        int ret;
 
-       gpiod_set_value_cansleep(imx412->reset_gpio, 1);
+       gpiod_set_value_cansleep(imx412->reset_gpio, 0);
 
        ret = clk_prepare_enable(imx412->inclk);
        if (ret) {
        return 0;
 
 error_reset:
-       gpiod_set_value_cansleep(imx412->reset_gpio, 0);
+       gpiod_set_value_cansleep(imx412->reset_gpio, 1);
 
        return ret;
 }
        struct v4l2_subdev *sd = dev_get_drvdata(dev);
        struct imx412 *imx412 = to_imx412(sd);
 
-       gpiod_set_value_cansleep(imx412->reset_gpio, 0);
+       gpiod_set_value_cansleep(imx412->reset_gpio, 1);
 
        clk_disable_unprepare(imx412->inclk);