Re: [mmc] incorrect behavior on resume

2007-02-18 Thread Alex Dubov
> I don't see that - as I say above, the correct sequence is: > > - host device resume > - calls mmc_resume_host() > - child's device resume (mmc_blk_resume) > - mmc_queue_resume() > Of course, I understand that this is a correct sequence. It simply was not obvious to me that host

Re: [mmc] incorrect behavior on resume

2007-02-18 Thread Alex Dubov
I don't see that - as I say above, the correct sequence is: - host device resume - calls mmc_resume_host() - child's device resume (mmc_blk_resume) - mmc_queue_resume() Of course, I understand that this is a correct sequence. It simply was not obvious to me that host will

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Russell King
On Sat, Feb 17, 2007 at 05:46:35PM -0800, Alex Dubov wrote: > 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. The host driver is supposed to call mmc_resume_host from it's resume callback. This should be called before

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Alex Dubov
--- Pavel Machek <[EMAIL PROTECTED]> 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

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Pavel Machek
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

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Pierre Ossman
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

[mmc] incorrect behavior on resume

2007-02-17 Thread Alex Dubov
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

[mmc] incorrect behavior on resume

2007-02-17 Thread Alex Dubov
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

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Pierre Ossman
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

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Pavel Machek
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

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Alex Dubov
--- Pavel Machek [EMAIL PROTECTED] 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

Re: [mmc] incorrect behavior on resume

2007-02-17 Thread Russell King
On Sat, Feb 17, 2007 at 05:46:35PM -0800, Alex Dubov wrote: 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. The host driver is supposed to call mmc_resume_host from it's resume callback. This should be called before the