lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 11 Oct 2010 10:31:40 +0200 From: Sven Neumann <s.neumann@...mfeld.com> To: Ohad Ben-Cohen <ohad@...ery.com> Cc: "Rafael J. Wysocki" <rjw@...k.pl>, Daniel Mack <daniel@...aq.de>, Colin Cross <ccross@...roid.com>, Greg Kroah-Hartman <gregkh@...e.de>, linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org Subject: Re: 2.6.35.6 fails to suspend (pxa2xx-mci.0) On Sat, 2010-10-09 at 03:07 +0200, Ohad Ben-Cohen wrote: > On Fri, Oct 8, 2010 at 10:08 PM, Rafael J. Wysocki <rjw@...k.pl> wrote: > > There is a problem with the pxa2xx-mci.0 suspend that has been introduced > > some time after 2.6.34, but it is not related to commit 152e1d5920. > > Sven, what type of card do you have in that slot ? is it SDIO ? what's > the function driver ? > > I have a hunch about this, but it may be a wild guess as I don't know > what's your setup exactly. > > Anyway, can you please try this and see if anything changes ? > > diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c > index c94565d..515ff39 100644 > --- a/drivers/mmc/core/core.c > +++ b/drivers/mmc/core/core.c > @@ -1682,6 +1682,19 @@ int mmc_suspend_host(struct mmc_host *host) > if (host->bus_ops && !host->bus_dead) { > if (host->bus_ops->suspend) > err = host->bus_ops->suspend(host); > + if (err == -ENOSYS || !host->bus_ops->resume) { > + /* > + * We simply "remove" the card in this case. > + * It will be redetected on resume. > + */ > + if (host->bus_ops->remove) > + host->bus_ops->remove(host); > + mmc_claim_host(host); > + mmc_detach_bus(host); > + mmc_release_host(host); > + host->pm_flags = 0; > + err = 0; > + } > } > mmc_bus_put(host); > > The reason I'm asking this is because it seems like commit > 4c2ef25fe0b847d2ae818f74758ddb0be1c27d8e "mmc: fix all hangs related > to mmc/sd card insert/removal during suspend/resume" has broken > suspending SDIO function drivers which don't have a suspend handler > (or do have one, but for some reason it returns -ENOSYS, like > libertas_sdio's does). Yes, this patch fixes the problem. Tested with v2.6.35-rc7. With above patch applied, suspend (and resume!) work again with and without pm_async=0. Thanks a lot to all of you for your help with this problem. Regards, Sven -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists