Hi Adrian, > mmc_retune_disable() is not meant for temporarily preventing re-tuning. > It is meant for exiting a transfer mode that requires re-tuning. Okay, I will add this as documentation. > I would prefer something like below: > > diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c > index b039dcff17f8..f6d97bffc559 100644 > --- a/drivers/mmc/core/core.c > +++ b/drivers/mmc/core/core.c > @@ -937,11 +937,14 @@ int mmc_execute_tuning(struct mmc_card *card) > > err = host->ops->execute_tuning(host, opcode); > > - if (err) > + if (err) { > pr_err("%s: tuning execution failed: %d\n", > mmc_hostname(host), err); > - else > + } else { > mmc_retune_enable(host); > + host->retune_now = 0; > + host->need_retune = 0; > + } > > return err; > } > > > Would that work? I will check it and report back. Thanks for the input! Happy hacking, Wolfram
Attachment:
signature.asc
Description: PGP signature