On Thursday 18 September 2008, Johannes Berg wrote: > On Thu, 2008-09-18 at 19:42 +0200, Ivo van Doorn wrote: > > > Well from my perspective: > > Note that 'sw' is the RADIO state as requested by mac80211 and > > 'hw' is the RFKILL state as indicated by the hardware > > > > radio: block, rfkill: block => BLOCK > > radio: block, rfkill: unblock => UNBLOCK > > radio: unblock, rfkill: block => BLOCK > > radio: unblock, rfkill: unblock => UNBLOCK > > Can't that crap just live in rfkill? Rfkill is intended to listen for RFKILL state changes and report those to userspace. _Optionally_ it can handle it internally through rfkill-input which will call toggle() to change the radio state. It is not intended as the library through which all radio state changes should go through. Because then we must change mac80211 to not send the enable_radio command to the drivers, but should directly send it to rfkill. > rfkill_announce_softstate(OPEN/BLOCKED) > rfkill_announce_hardstate(OPEN/BLOCKED) > > and all the other junk happens there. And make sure this can be called > from interrupts. I think that limitation came from the notifier_block functions, but Henrique knows more about those details. Ivo -- 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