[PATCH 1/3] mmc: core: fix using wrong io voltage if mmc_select_hs200 fails
Ulf Hansson
ulf.hansson at linaro.org
Tue May 10 02:46:40 PDT 2016
On 28 April 2016 at 11:26, Ulf Hansson <ulf.hansson at linaro.org> wrote:
> On 20 April 2016 at 18:51, Dong Aisheng <aisheng.dong at nxp.com> wrote:
>> Currently MMC core will keep going if HS200/HS timing switch failed
>> with -EBADMSG error by the assumption that the old timing is still valid.
>>
>> However, for mmc_select_hs200 case, the signal voltage may have already
>> been switched. If the timing switch failed, we should fall back to
>> the old voltage in case the card is continue run with legacy timing.
>>
>> If fall back signal voltage failed, we explicitly report an EIO error
>> to force retry during the next power cycle.
>>
>> Signed-off-by: Dong Aisheng <aisheng.dong at nxp.com>
>> ---
>> drivers/mmc/core/mmc.c | 11 +++++++++--
>> 1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
>> index b8aa12c..f6683a9 100644
>> --- a/drivers/mmc/core/mmc.c
>> +++ b/drivers/mmc/core/mmc.c
>> @@ -1245,9 +1245,11 @@ static int mmc_select_hs200(struct mmc_card *card)
>> struct mmc_host *host = card->host;
>> bool send_status = true;
>> unsigned int old_timing;
>> + unsigned int old_signal_voltage;
>
> Nitpick; you can merge this change into the line above.
>
Applied for next with a minor change dealing with the nitpick above, thanks!
Kind regards
Uffe
More information about the linux-arm-kernel
mailing list