Patch: remove incorrect vbestate_restore quirk for some laptops

Frederic Crozat fcrozat at mandriva.com
Thu May 3 03:29:20 PDT 2007


Le jeudi 03 mai 2007 à 11:25 +0200, Frederic Crozat a écrit :
> Le mercredi 02 mai 2007 à 20:51 +0200, Danny Kukawka a écrit :
> > On Mittwoch, 2. Mai 2007, Frederic Crozat wrote:
> > > Le mercredi 02 mai 2007 à 18:57 +0200, Danny Kukawka a écrit :
> > > > On Mittwoch, 2. Mai 2007, Frederic Crozat wrote:
> > > > > While testing Mandriva 2007 Spring, we discovered part of hal
> > > > > suspend/resume scripts were still using incorrect arguments when
> > > > > calling pm-utils, causing vbestate_restore to never be passed to
> > > > > pm-utils.
> > > > >
> > > > > After we fixed that (I saw david fixed it too in parallel with commits
> > > > > d695eb749f5f1ace2d90be0605a100b1cc714266 and
> > > > > a0997ff7f0ced238e702f2b0e201038687ede468, sorry for not pushing patch
> > > > > earlier), we discovered regressions in suspend stability, because some
> > > > > laptops were incorrectly described in hal-info as needing
> > > > > vbestate_restore.
> > > >
> > > > How did you discovered this regression. What was the exact testcase?
> > > > Suspend under X or also from console/init=/bin/bash. Both have to work to
> > > > remove a quirk.
> > > >
> > > > I ask this because I see several changes (e.g. for HPnx6125) in the
> > > > quirks (you remove e.g. power_management.quirk.vbestate_restore) which
> > > > s2ram explicit use (in it's own whitelist) to resume the machines
> > > > correctly. I speculate in several cases of your changes the  resume with
> > > > X would work okay, but not from console.
> > >
> > > Glad you asked.
> > >
> > > I plan to write a test scenario on Mandriva wiki about that, but here is
> > > it :
> > 
> > You miss something in the testplan: suspend to ram has also to work from 
> > console. And for your changes (remove vbestate_restore quirk) this wouldn't 
> > work in the most cases! So I would vote against this changes until this get 
> > rechecked with init=/bin/bash (start with init=/bin/bash, call suspendToRam, 
> > resume and check if all work)
> 
> I don't recall seeing such regressions for console suspend but I'll try
> to grab one of those problematic laptops.

I just tested one of the laptops. And you were right, restoring for
framebuffer is broken if vbestate_restore is not used.

So, we end up with a dilemna :
-activating vbestate_restore breaks X resume
-disabling vbestate_restore breaks framebuffer resume

If we want to store enough informations in hal-info, we probably need to
split the vbestate_restore key in three keys
-one for text mode
-one for framebuffer mode
-one for X (native driver) mode

and we need to detect which mode is the current one when suspending.

-- 
Frederic Crozat <fcrozat at mandriva.com>
Mandriva



More information about the hal mailing list