Re: [PATCH v4 00/21] OMAP UART Patches

From: Felipe Balbi
Date: Sun Sep 16 2012 - 14:41:57 EST


Hi,

On Sun, Sep 16, 2012 at 01:22:01AM +0000, Paul Walmsley wrote:
> On Wed, 12 Sep 2012, Felipe Balbi wrote:
>
> > On Tue, Sep 11, 2012 at 10:02:48PM +0000, Paul Walmsley wrote:
> >
> > > The bad news is that N800 no longer boots -- or the UART dies during
> > > serial init:
> > >
> > > http://www.pwsan.com/omap/testlogs/test_tty_next_e36851d0/20120910020323/boot/2420n800/2420n800_log.txt
> > >
> > > The problem doesn't seem to affect the 2430SDP.
> > >
> > > Could you put together a patch to fix N800?
>
> Bisected this down. It's this one that causes the problem on N800:
>
> commit 93220dcc3052182e7156c09655ad1316055564b9
> Author: Felipe Balbi <balbi@xxxxxx>
> Date: Thu Sep 6 15:45:27 2012 +0300
>
> serial: omap: set dev->drvdata before enabling pm_runtime
>
> by the time we call our first pm_runtme_get_sync()
> after enable pm_runtime, our resume method might
> be called. To avoid problems, we must make sure
> that our dev->drvdata is set correctly before
> our resume method gets called.
>
> Tested-by: Shubhrajyoti D <shubhrajyoti@xxxxxx>
> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> Signed-off-by: Felipe Balbi <balbi@xxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Interesting. That simply moves platform_set_drvdata() to a saner
location... The only way for this to cause problems is if we're trying
to restore a context which was never saved.

Is there a way to prevent runtime_resume() to be called during probe()
if I know the HW is already enabled ? Maybe with
pm_runtime_set_active() ?

--
balbi

Attachment: signature.asc
Description: Digital signature