Changes in v2: - Add adaptations to the mwifiex driver. - Keep existing syncronous reset behaviour if the SDIO card has a single func driver. 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 patches in this series attempts to address this problem, by reworking the mmc_hw_reset() behaviour for SDIO and by adopting the Marvel mwifiex driver to these changes. Note that, I don't have the HW at hand so the the code has only compile tested. Test on HW is greatly appreciated! Ulf Hansson (3): mwifiex: Re-work support for SDIO HW reset 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 | 12 +++----- drivers/mmc/core/core.h | 2 ++ drivers/mmc/core/sdio.c | 28 ++++++++++++++++- drivers/mmc/core/sdio_bus.c | 9 +++++- drivers/net/wireless/marvell/mwifiex/main.c | 6 +++- drivers/net/wireless/marvell/mwifiex/main.h | 1 + drivers/net/wireless/marvell/mwifiex/sdio.c | 33 ++++++++++++++------- include/linux/mmc/card.h | 1 + 8 files changed, 70 insertions(+), 22 deletions(-) -- 2.17.1