Hi Daniel, On Sun, Jun 5, 2011 at 3:31 PM, Daniel Drake <dsd@xxxxxxxxxx> wrote: > On 5 June 2011 00:08, Ohad Ben-Cohen <ohad@xxxxxxxxxx> wrote: >> We can stop checking the return value of pm_runtime_get_sync in >> sdio_bus_remove, like pci_device_remove is doing, but I don't think >> that's enough: I guess libertas' if_sdio_remove won't be so happy >> dealing with a powered off card. >> >> Can you try the following please (untested): > > Thanks, that seems to be working. That patch had two hunks. The first one, in mmc_sdio_remove, made sure libertas' ->remove() handler will be called powered on, even if the chip was powered off beforehand. The second one, in sdio_bus_remove, directly took care of the problem you saw by ignoring rumtime PM's return value (which is a valid error in your scenario). Obviously the second hunk is necessary, but I'd like to know whether the first one really is too or not. Can you please retest this without that hunk (try to suspend/resume while the chip is powered off, and again while it is powered on, but wol isn't used) ? If the second hunk is sufficient (everything works as expected + no scary error messages coming from libertas), I would like to avoid the first one. I'm not sure at all there's any reason to power up the card if it is being removed, and a quick glance shows libertas_sdio has this 'user_rmmod' flag which should prevent scary error messages in this exact scenario. Thanks, Ohad. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html