if (ret < 0)
                dev_err(dev, "Failed to assert M0+ core: %d\n", ret);
 
-       ret = reset_control_assert(xcvr->reset);
-       if (ret < 0)
-               dev_err(dev, "Failed to assert M0+ reset: %d\n", ret);
-
        regcache_cache_only(xcvr->regmap, true);
 
        clk_disable_unprepare(xcvr->spba_clk);
        struct fsl_xcvr *xcvr = dev_get_drvdata(dev);
        int ret;
 
+       ret = reset_control_assert(xcvr->reset);
+       if (ret < 0) {
+               dev_err(dev, "Failed to assert M0+ reset: %d\n", ret);
+               return ret;
+       }
+
        ret = clk_prepare_enable(xcvr->ipg_clk);
        if (ret) {
                dev_err(dev, "failed to start IPG clock.\n");