Skip to content

Commit 5a2b3ef

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: mmc: sdio: fix SDIO suspend/resume regression
2 parents c919279 + 1c8cf9c commit 5a2b3ef

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

drivers/mmc/core/core.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1631,6 +1631,19 @@ int mmc_suspend_host(struct mmc_host *host)
16311631
if (host->bus_ops && !host->bus_dead) {
16321632
if (host->bus_ops->suspend)
16331633
err = host->bus_ops->suspend(host);
1634+
if (err == -ENOSYS || !host->bus_ops->resume) {
1635+
/*
1636+
* We simply "remove" the card in this case.
1637+
* It will be redetected on resume.
1638+
*/
1639+
if (host->bus_ops->remove)
1640+
host->bus_ops->remove(host);
1641+
mmc_claim_host(host);
1642+
mmc_detach_bus(host);
1643+
mmc_release_host(host);
1644+
host->pm_flags = 0;
1645+
err = 0;
1646+
}
16341647
}
16351648
mmc_bus_put(host);
16361649

0 commit comments

Comments
 (0)