Messages in this thread | | | Date | Sat, 17 Feb 2007 17:46:35 -0800 (PST) | From | Alex Dubov <> | Subject | Re: [mmc] incorrect behavior on resume |
| |
--- Pavel Machek <pavel@ucw.cz> wrote:
> On Sun 2007-02-18 00:35:33, Pierre Ossman wrote: > > Alex Dubov wrote: > > > And today: yet another problem with mmc. > > > It so happens that after resume mmc layer issues requests to the device before > mmc_resume_host is > > > called at all. Moreover, this prevents the machine from resuming, unless worked around, > because > > > software timer does not work at this stage of the resume and interrupts may not be delivered > (if > > > card was removed, for example). > > > > Now this sounds incredibly broken. A child device should never be resumed before > > its parent. Pavel, can you comment? > > No, child devices should not be resumed before their parents. Is it > true child? > > What bus is mmc on? Timer should be resumed fairly early...? > > Can you confirm that rmmod/insmod of mmc around suspend fixes the issue? > > But this is greg's area. It sure does - if I'll do "rmmod mmc" I'd be forced to remove my driver as well (symbol dependency) and the problem will magically disappear.
The problem here is that mmc_block's device is a child of real device (tifm_dev here), so it gets resumed right after it. However, it correct functioning depends on mmc_core, which must be manually resumed (mmc_resume_host). Therefore, I think this is purely mmc's problem.
____________________________________________________________________________________ Bored stiff? Loosen up... Download and play hundreds of games for free on Yahoo! Games. http://games.yahoo.com/games/front - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |