Hello Zhangfei, On Tue, Jan 25, 2011 at 5:10 AM, zhangfei gao <zhangfei.gao@xxxxxxxxx> wrote: > Could we remove mmc_card_is_removable(host) condition, the skip is not > related with whether card is removable or not, do you think so? But, as Nicolas pointed out before, what if the card is removed (or replaced) while the system was suspended ? It seems that this won't be detected, and your driver, once resumed, will assume the card is still in place and will just fail. Are you ok with it ? Can you please explain what's required to wake up mrvl8787 from this deep sleep ? One thing we can do is letting drivers register a wake-up function within the SDIO core, just before suspending. Then, upon resume, if such a wake-up function was registered, SDIO core would invoke it just before it tries to read the CIS. This way your card stays in deep sleep while the system is suspended, and when the system wakes up, SDIO core has a chance to make sure the card was not removed/replaced. If the card is replaced, the wake-up function will probably just fail, and then SDIO core will have to reinitialize that new card. I'm not sure that's ideal, but those errors would happen anyway if we just skip the reinitialization and let the driver assume the card wasn't replaced. What do you think ? Would that work for you ? Btw we have the same thing with the wl1271. Since it's mostly nonremovable, we're ok with 3cfc33a, but that may change. 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