/* enable UIC related interrupts */
                ufshcd_enable_intr(hba, UFSHCD_UIC_MASK);
                ret = ufshcd_dme_reset(hba);
-               if (!ret) {
-                       ret = ufshcd_dme_enable(hba);
-                       if (!ret)
-                               ufshcd_vops_hce_enable_notify(hba, POST_CHANGE);
-                       if (ret)
-                               dev_err(hba->dev,
-                                       "Host controller enable failed with non-hce\n");
+               if (ret) {
+                       dev_err(hba->dev, "DME_RESET failed\n");
+                       return ret;
                }
+
+               ret = ufshcd_dme_enable(hba);
+               if (ret) {
+                       dev_err(hba->dev, "Enabling DME failed\n");
+                       return ret;
+               }
+
+               ufshcd_vops_hce_enable_notify(hba, POST_CHANGE);
        } else {
                ret = ufshcd_hba_execute_hce(hba);
        }