[linux-pm] PM vs. usermode helpers: request_firmware() must die

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

 



Hi!

> > > > Actually, request_firmware_nowait does not help. Userland would see
> > > > non-functional hardware after resume but before
> > > > request_firmware_nowait() is done. That would hurt for example with
> > > > nfsroot and firmware over nfs, or just general confusion "why is this
> > > > f***ing network card broken".
> > > 
> > > Hrm... suspending with NFS root seems to be quite an acrobatic exercice
> > > anyway, but I see your point. Still, a synchronous request_firmware is
> > > broken anyway, while the nowait version may work.
> > > 
> > > > Solution seems to be "do request_firmware before suspend begins, and
> > > > cache it in memory".
> > > 
> > > Which requires knowing when it is safe to rely on userland, which means
> > > having ways to be notified before the whole suspend/resume process
> > > starts as we already discussed. I'm still wondering if that could be
> > > done via separate PM_* messages (PM_PRE_SUSPEND, PM_POST_RESUME) or
> > > via a simple notifier... 
> > 
> > PM_PRE_SUSPEND sounds good. (That would be event = ON, flags =
> > PM_PRE_SUSPEND, right? :-) Is there any real use for PM_POST_RESUME?
> 
> I don't think those should use existing events... 
> 
> Well, you need to know when userland stops beeing useable, _and_ when is
> starts beeing available again...

Ok, we probably want to free firmware image from memory....

Well, I could define two more events, and possibly kill event = ON; do
you really thing so many drivers will care?
								Pavel
-- 
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux