On Thu, 24 Sep 2009, Alan Jenkins wrote:
> We can fix this by querying the firmware at load time and calling
> rfkill_set_hw_state().
The bug concerning checking the state after suspend to ram should probably
be also queued. Original email attached.
Tested-by: Norbert Preining <preining@xxxxxxxx>
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <preining@xxxxxxxx> Vienna University of Technology
Debian Developer <preining@xxxxxxxxxx> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
SWANAGE (pl.n.)
Swanage is the series of diversionary tactics used when trying to
cover up the existence of a glossop (q.v.) and may include (a)
uttering a high-pitched laugh and pointing out of the window (NB. this
doesn't work more that twice); (b) sneezing as loudly as possible and
wiping the glossop off the table in the same movement as whipping out
your handkerchief; (c) saying 'Christ! I seen to have dropped some
shit on your table' (very unwise); (d) saying 'Christ, who did that?'
(better) (e) pressing your elbow on the glossop itself and working
your arms slowly to the edge of the table; (f) leaving the glossop
where it is but moving a plate over it and putting up with sitting at
an uncomfortable angle the rest of the meal; or, if the glossop is in
too exposed a position, (g) leaving it there unremarked except for the
occasional humorous glance.
--- Douglas Adams, The Meaning of Liff
--- Begin Message ---
Without this, the hard-blocked state will be reported incorrectly if
the hardware switch is changed while the laptop is suspended.
Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx>
--
Again, this is from code inspection only. Since suspend/resume can
be tricky, please test that this change works (and is necessary).
diff a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -1044,6 +1044,9 @@ static int sony_nc_resume(struct acpi_device *device)
sony_backlight_update_status(sony_backlight_device) < 0)
printk(KERN_WARNING DRV_PFX "unable to restore brightness level\n");
+ /* re-read rfkill state */
+ sony_nc_rfkill_update();
+
return 0;
}
--- End Message ---