When the hard state changes, we shouldn't set the soft state to blocked as well -- we have no such indication from the device in that case so leave it untouched. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13458. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Reported-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Tested-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> --- Thanks Reinette! drivers/platform/x86/sony-laptop.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- wireless-testing.orig/drivers/platform/x86/sony-laptop.c 2009-06-11 11:00:44.000000000 +0200 +++ wireless-testing/drivers/platform/x86/sony-laptop.c 2009-06-11 12:05:52.000000000 +0200 @@ -1133,8 +1133,9 @@ static void sony_nc_rfkill_update() continue; if (hwblock) { - if (rfkill_set_hw_state(sony_rfkill_devices[i], true)) - sony_nc_rfkill_set((void *)i, true); + if (rfkill_set_hw_state(sony_rfkill_devices[i], true)) { + /* we already know we're blocked */ + } continue; } -- 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