diff options
Diffstat (limited to 'drivers/mmc/core/mmc.c')
| -rw-r--r-- | drivers/mmc/core/mmc.c | 23 | 
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 2d4a4b74675..396b25891bb 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -717,10 +717,6 @@ static int mmc_select_powerclass(struct mmc_card *card,  				 card->ext_csd.generic_cmd6_time);  	} -	if (err) -		pr_err("%s: power class selection for ext_csd_bus_width %d" -		       " failed\n", mmc_hostname(card->host), bus_width); -  	return err;  } @@ -822,9 +818,6 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,  	if (!mmc_host_is_spi(host))  		mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN); -	/* Initialization should be done at 3.3 V I/O voltage. */ -	mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0); -  	/*  	 * Since we're changing the OCR value, we seem to  	 * need to tell some cards to go back to the idle @@ -1104,7 +1097,9 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,  				EXT_CSD_BUS_WIDTH_8 : EXT_CSD_BUS_WIDTH_4;  		err = mmc_select_powerclass(card, ext_csd_bits, ext_csd);  		if (err) -			goto err; +			pr_warning("%s: power class selection to bus width %d" +				   " failed\n", mmc_hostname(card->host), +				   1 << bus_width);  	}  	/* @@ -1136,7 +1131,10 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,  			err = mmc_select_powerclass(card, ext_csd_bits[idx][0],  						    ext_csd);  			if (err) -				goto err; +				pr_warning("%s: power class selection to " +					   "bus width %d failed\n", +					   mmc_hostname(card->host), +					   1 << bus_width);  			err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,  					 EXT_CSD_BUS_WIDTH, @@ -1164,7 +1162,10 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,  			err = mmc_select_powerclass(card, ext_csd_bits[idx][1],  						    ext_csd);  			if (err) -				goto err; +				pr_warning("%s: power class selection to " +					   "bus width %d ddr %d failed\n", +					   mmc_hostname(card->host), +					   1 << bus_width, ddr);  			err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,  					 EXT_CSD_BUS_WIDTH, @@ -1326,7 +1327,7 @@ static int mmc_suspend(struct mmc_host *host)  		if (!err)  			mmc_card_set_sleep(host->card);  	} else if (!mmc_host_is_spi(host)) -		mmc_deselect_cards(host); +		err = mmc_deselect_cards(host);  	host->card->state &= ~(MMC_STATE_HIGHSPEED | MMC_STATE_HIGHSPEED_200);  	mmc_release_host(host);  |