platform_set_drvdata(pdev, dev);
 
        dev->rst = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
-       if (IS_ERR(dev->rst)) {
-               if (PTR_ERR(dev->rst) == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
-       } else {
-               reset_control_deassert(dev->rst);
-       }
+       if (IS_ERR(dev->rst))
+               return PTR_ERR(dev->rst);
+
+       reset_control_deassert(dev->rst);
 
        t = &dev->timings;
        if (pdata)
 exit_probe:
        dw_i2c_plat_pm_cleanup(dev);
 exit_reset:
-       if (!IS_ERR_OR_NULL(dev->rst))
-               reset_control_assert(dev->rst);
+       reset_control_assert(dev->rst);
        return ret;
 }
 
        pm_runtime_put_sync(&pdev->dev);
        dw_i2c_plat_pm_cleanup(dev);
 
-       if (!IS_ERR_OR_NULL(dev->rst))
-               reset_control_assert(dev->rst);
+       reset_control_assert(dev->rst);
 
        return 0;
 }