|
@@ -548,6 +548,10 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
|
|
|
BUG_ON(!host);
|
|
|
WARN_ON(!host->claimed);
|
|
|
|
|
|
+ /* Set correct bus mode for MMC before attempting init */
|
|
|
+ if (!mmc_host_is_spi(host))
|
|
|
+ mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN);
|
|
|
+
|
|
|
/*
|
|
|
* Since we're changing the OCR value, we seem to
|
|
|
* need to tell some cards to go back to the idle
|
|
@@ -1022,6 +1026,10 @@ int mmc_attach_mmc(struct mmc_host *host)
|
|
|
BUG_ON(!host);
|
|
|
WARN_ON(!host->claimed);
|
|
|
|
|
|
+ /* Set correct bus mode for MMC before attempting attach */
|
|
|
+ if (!mmc_host_is_spi(host))
|
|
|
+ mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN);
|
|
|
+
|
|
|
err = mmc_send_op_cond(host, 0, &ocr);
|
|
|
if (err)
|
|
|
return err;
|