Mattia Dongili wrote: > On Thu, Sep 24, 2009 at 08:15:24PM +0100, Alan Jenkins wrote: > >> "I recently (on a flight) I found out that when I boot with the hard-switch >> activated, so turning off all wireless activity on my laptop, the state >> is not correctly announced in /dev/rfkill (reading it with rfkill command, >> or my own gnome applet)... >> >> After turning off and on again the hard-switch the events were right." >> >> We can fix this by querying the firmware at load time and calling >> rfkill_set_hw_state(). >> > > Is it worth trying to get this into a stable release? > Sure. It seems to fit, and all we have to do is add a CC to the patch >> Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> >> Tested-by: Norbert Preining <preining@xxxxxxxx> >> > > Acked-by: Mattia Dongili <malattia@xxxxxxxx> > CC: stable@xxxxxxxxxx > >> --- >> drivers/platform/x86/sony-laptop.c | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c >> index dafaa4a..a234a9d 100644 >> --- a/drivers/platform/x86/sony-laptop.c >> +++ b/drivers/platform/x86/sony-laptop.c >> @@ -1081,6 +1081,8 @@ static int sony_nc_setup_rfkill(struct acpi_device *device, >> struct rfkill *rfk; >> enum rfkill_type type; >> const char *name; >> + int result; >> + bool hwblock; >> >> switch (nc_type) { >> case SONY_WIFI: >> @@ -1108,6 +1110,10 @@ static int sony_nc_setup_rfkill(struct acpi_device *device, >> if (!rfk) >> return -ENOMEM; >> >> + sony_call_snc_handle(0x124, 0x200, &result); >> + hwblock = !(result & 0x1); >> + rfkill_set_hw_state(rfk, hwblock); >> + >> err = rfkill_register(rfk); >> if (err) { >> rfkill_destroy(rfk); >> -- >> 1.6.3.2 >> >> >> >> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html