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 > 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 > Acked-by: Santosh Shilimkar > Signed-off-by: Felipe Balbi > Signed-off-by: Greg Kroah-Hartman 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