Re: [PATCH 4/6] mmc: sd: Add new CONFIG_MMC_PARANOID_SD_INIT for enabling retries during SD detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 23 April 2011, John Stultz wrote:
> @@ -482,7 +485,26 @@ int mmc_sd_setup_card(struct mmc_host *host, struct mmc_card *card,
>  		/*
>  		 * Fetch switch information from card.
>  		 */
> +#ifdef CONFIG_MMC_PARANOID_SD_INIT
> +		for (retries = 1; retries <= 3; retries++) {
> +			err = mmc_read_switch(card);
> +			if (!err) {
> +				if (retries > 1) {
> +					printk(KERN_WARNING
> +					       "%s: recovered\n",
> +					       mmc_hostname(host));
> +				}
> +				break;
> +			} else {
> +				printk(KERN_WARNING
> +				       "%s: read switch failed (attempt %d)\n",
> +				       mmc_hostname(host), retries);
> +			}
> +		}
> +#else
>  		err = mmc_read_switch(card);
> +#endif
> +

I see no reason to have this as a compile time option. Having retries in here
might be useful, but a better place would be inside of mmc_read_switch()
or mmc_sd_switch() so it is only done if the error comes from the controller,
not for cases where we know it will fail (e.g. !(card->csd.cmdclass & CCC_SWITCH)).

I would also recommend being a bit less noisy, e.g. print a warning only
after either giving up or succeeding a retry.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux