/* Basic card reinitialization. */
        mmc_claim_host(host);
 
-       /* Restore power if needed */
+       /*
+        * Restore power and reinitialize the card when needed. Note that a
+        * removable card is checked from a detect work later on in the resume
+        * process.
+        */
        if (!mmc_card_keep_power(host)) {
                mmc_power_up(host, host->card->ocr);
                /*
                        pm_runtime_set_active(&host->card->dev);
                        pm_runtime_enable(&host->card->dev);
                }
-       }
-
-       /* No need to reinitialize powered-resumed nonremovable cards */
-       if (mmc_card_is_removable(host) || !mmc_card_keep_power(host)) {
-               err = mmc_sdio_reinit_card(host, mmc_card_keep_power(host));
-       } else if (mmc_card_keep_power(host) && mmc_card_wake_sdio_irq(host)) {
+               err = mmc_sdio_reinit_card(host, 0);
+       } else if (mmc_card_wake_sdio_irq(host)) {
                /* We may have switched to 1-bit mode during suspend */
                err = sdio_enable_4bit_bus(host->card);
        }