mbox series

[0/2] mmc: core: Fixup HW reset for SDIO cards

Message ID 20191017135739.1315-1-ulf.hansson@linaro.org (mailing list archive)
Headers show
Series mmc: core: Fixup HW reset for SDIO cards | expand

Message

Ulf Hansson Oct. 17, 2019, 1:57 p.m. UTC
It has turned out that it's not a good idea to try to power cycle and to
re-initialize the SDIO card, as currently done through mmc_hw_reset(). This
because there may be multiple SDIO funcs attached to the same SDIO card and
some of the others that didn't execute the call to mmc_hw_reset(), may then
simply experience an undefined behaviour.

The following two patches in this series attempts to address this problem, by
reworking the mmc_hw_reset() behaviour for SDIO.

Note that, the code has only compile tested, so any test on HW is greatly
appreciated.

Kind regards
Uffe


Ulf Hansson (2):
  mmc: core: Drop check for mmc_card_is_removable() in mmc_rescan()
  mmc: core: Re-work HW reset for SDIO cards

 drivers/mmc/core/core.c | 10 +++-------
 drivers/mmc/core/core.h |  2 ++
 drivers/mmc/core/sdio.c | 11 +++++++++--
 3 files changed, 14 insertions(+), 9 deletions(-)