ret = reset_control_deassert(qcom->resets);
        if (ret) {
                dev_err(&pdev->dev, "failed to deassert resets, err=%d\n", ret);
-               goto reset_assert;
+               return ret;
        }
 
        ret = clk_bulk_prepare_enable(qcom->num_clocks, qcom->clks);
        if (ret < 0)
-               goto reset_assert;
+               return ret;
 
        r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!r) {
        dwc3_core_remove(&qcom->dwc);
 clk_disable:
        clk_bulk_disable_unprepare(qcom->num_clocks, qcom->clks);
-reset_assert:
-       reset_control_assert(qcom->resets);
 
        return ret;
 }
        clk_bulk_disable_unprepare(qcom->num_clocks, qcom->clks);
 
        dwc3_qcom_interconnect_exit(qcom);
-       reset_control_assert(qcom->resets);
 }
 
 static int dwc3_qcom_pm_suspend(struct device *dev)