diff options
Diffstat (limited to 'drivers/mmc/core/sdio.c')
| -rw-r--r-- | drivers/mmc/core/sdio.c | 17 | 
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c index bd44ba8116d1..ecbc52981ba5 100644 --- a/drivers/mmc/core/sdio.c +++ b/drivers/mmc/core/sdio.c @@ -63,7 +63,8 @@ static int sdio_init_func(struct mmc_card *card, unsigned int fn)  	int ret;  	struct sdio_func *func; -	BUG_ON(fn > SDIO_MAX_FUNCS); +	if (WARN_ON(fn > SDIO_MAX_FUNCS)) +		return -EINVAL;  	func = sdio_alloc_func(card);  	if (IS_ERR(func)) @@ -555,7 +556,6 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr,  	u32 rocr = 0;  	u32 ocr_card = ocr; -	BUG_ON(!host);  	WARN_ON(!host->claimed);  	/* to query card if 1.8V signalling is supported */ @@ -791,9 +791,6 @@ static void mmc_sdio_remove(struct mmc_host *host)  {  	int i; -	BUG_ON(!host); -	BUG_ON(!host->card); -  	for (i = 0;i < host->card->sdio_funcs;i++) {  		if (host->card->sdio_func[i]) {  			sdio_remove_func(host->card->sdio_func[i]); @@ -820,9 +817,6 @@ static void mmc_sdio_detect(struct mmc_host *host)  {  	int err; -	BUG_ON(!host); -	BUG_ON(!host->card); -  	/* Make sure card is powered before detecting it */  	if (host->caps & MMC_CAP_POWER_OFF_CARD) {  		err = pm_runtime_get_sync(&host->card->dev); @@ -916,9 +910,6 @@ static int mmc_sdio_resume(struct mmc_host *host)  {  	int err = 0; -	BUG_ON(!host); -	BUG_ON(!host->card); -  	/* Basic card reinitialization. */  	mmc_claim_host(host); @@ -970,9 +961,6 @@ static int mmc_sdio_power_restore(struct mmc_host *host)  {  	int ret; -	BUG_ON(!host); -	BUG_ON(!host->card); -  	mmc_claim_host(host);  	/* @@ -1063,7 +1051,6 @@ int mmc_attach_sdio(struct mmc_host *host)  	u32 ocr, rocr;  	struct mmc_card *card; -	BUG_ON(!host);  	WARN_ON(!host->claimed);  	err = mmc_send_io_op_cond(host, 0, &ocr);  |