This will provide a better code flow that fits the logic
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
        if (err)
                goto fail;
 
-       /*
-        * Make sure any on-chip ARM is off (in case strapping is wrong),
-        * or downloaded code was already running.
-        */
-       brcmf_sdio_chip_coredisable(bus->sdiodev, ci->armcorebase);
-
        brcmf_sdcard_reg_write(bus->sdiodev,
                CORE_CC_REG(ci->cccorebase, gpiopullup), 4, 0);
        brcmf_sdcard_reg_write(bus->sdiodev,
 
 
        brcmf_dbg(INFO, "ccrev=%d, pmurev=%d, buscore rev/type=%d/0x%x\n",
                  ci->ccrev, ci->pmurev, ci->buscorerev, ci->buscoretype);
+
+       /*
+        * Make sure any on-chip ARM is off (in case strapping is wrong),
+        * or downloaded code was already running.
+        */
+       brcmf_sdio_chip_coredisable(sdiodev, ci->armcorebase);
 }
 
 int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev,