Re: Runtime PM support in serial core?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2016-08-24 at 17:24 +0200, bigeasy@xxxxxxxxxxxxx wrote:
> On 2016-08-24 15:16:08 [+0000], Shevchenko, Andriy wrote:
> > 
> > On Wed, 2016-08-24 at 17:03 +0200, bigeasy@xxxxxxxxxxxxx wrote:
> > > 
> > > On 2016-08-24 14:56:12 [+0000], Shevchenko, Andriy wrote:
> > 
> > > 
> > > > 
> > > > Today I discovered that runtime PM rather broken in 8250 _by
> > > > design_.
> > 
> > > >  It
> > > > definitely requires irq_safe flag to be set in runtime PM. But
> > > > that
> > > > flag
> > > > demolishes an effort since it keeps parent (and thus all other
> > > > devices
> > > > which parent needs to be on) always on.
> > 
> > ^^^^^ (1)
> > 
> > > 
> > > > The question is is somebody is going to fix this and when?
> > > 
> > > Why is it broken? 
> > 
> > I meant that without irq_safe flag set there are too many places
> > where
> > "sleep while in atomic" happens. On the other hand the irq_safe flag
> > prevents parent to go to suspend.
> 
> This must be new then. I don't remember _any_ "sleeping while atomic"
> warnings back then. Maybe Tony knows something. Maybe it does not
> occur on TI's PM code. I would have to reanimate my beagle bone to
> check that.

If you remove pm_runtime_irq_safe() you would be lucky to see them. Any
pm_runtime_get_sync() call will issue one if run in atomic context. I
found a lot of places in serial_core.c where it may happen.


-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux