return 0;
 }
 
+static void renesas_sdhi_scc_reset(struct tmio_mmc_host *host, struct renesas_sdhi *priv)
+{
+       renesas_sdhi_disable_scc(host->mmc);
+       renesas_sdhi_reset_hs400_mode(host, priv);
+       priv->needs_adjust_hs400 = false;
+
+       sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL,
+                      ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN &
+                      sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL));
+}
+
 /* only populated for TMIO_MMC_MIN_RCAR2 */
 static void renesas_sdhi_reset(struct tmio_mmc_host *host)
 {
        struct renesas_sdhi *priv = host_to_priv(host);
        u16 val;
 
-       if (priv->scc_ctl) {
-               renesas_sdhi_disable_scc(host->mmc);
-               renesas_sdhi_reset_hs400_mode(host, priv);
-               priv->needs_adjust_hs400 = false;
-
-               sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL,
-                              ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN &
-                              sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL));
-       }
+       if (priv->scc_ctl)
+               renesas_sdhi_scc_reset(host, priv);
 
        sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, TMIO_MASK_ALL_RCAR2);
 
 
        ret = renesas_sdhi_select_tuning(host);
        if (ret < 0)
-               renesas_sdhi_reset(host);
+               renesas_sdhi_scc_reset(host, priv);
        return ret;
 }