Alan Jenkins wrote: > Matthew Garrett wrote: > >> On Fri, Oct 31, 2008 at 05:09:09PM +0000, Alan Jenkins wrote: >> >> >>> Did you miss a call to rfkill_force_state() on resume? >>> >>> >> Conceivably. I didn't test the hibernation case. >> >> >> >>> Actually, normal boot doesn't preserve the setting either. Your commit >>> changes the behaviour from the rfkill state being persistent across >>> reboot / power off (as a bios setting), to being always enabled on >>> boot. It seems like a bad idea to me. >>> >>> >> This is the behaviour of the rfkill core. >> >> > Documentation/rfkill.txt implied otherwise > > You should: > - rfkill_allocate() > - modify rfkill fields (flags, name) > - modify state to the current hardware state (THIS IS THE ONLY TIME > YOU CAN ACCESS state DIRECTLY) > - rfkill_register() > > > Admittedly it doesn't say "and I promise not to gratuitously override > the state on registration". Buti t seems weird though, to override the > value on registration Ah, I see. Wrong end - of course the *rfkill device* doesn't have useful state. The persistent state belongs to the *rfkill switch* - it could even be a physical switch. And now it's clear what was missing from the conversion to rfkill: 2. Input device switches (sources of EV_SW events) DO store their current state (so you *must* initialize it by issuing a gratuitous input layer event on driver start-up and also when resuming from sleep) Regards Alan -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html