On 8/19/09, Mario Limonciello <mario_limonciello@xxxxxxxx> wrote: > Hi Johannes: > > Thanks for looking. > > Johannes Berg wrote: >> Ah, heh, thanks Alan for pointing out there was a patch here :) >> >> >> >> I don't quite understand the "| radio" bit since that seems to be the >> soft kill bit according to rfkill_set()? >> > Yeah you're right, this bit was unnecessary. I pulled it out. >> Anyhow, here you reject the request to set the soft bit. I suspect you >> could let it go through but it would only change the soft bit in the >> BIOS, nothing else really. >> >> Two options: >> 1) You can let it go though, in that case do that, and remove the sw >> block stuff from poll() completely. >> >> 2) You can't let it go through. In this case, you need to leave set as >> it is, but implement poll like this: >> >> sw_block = rfkill_set_hw_state(rfkill, hw_blocked); >> compal_rfkill_set(data, sw_block); >> >> so that when the user soft-blocks the device while hard-blocked, the >> soft block is still honoured after pushing the button on the laptop. >> >> > OK, the second option sounds more desirable, so I've implemented that. I think the first option is more _desirable_, it's more a matter of whether it can work well on this hardware. In case 2), the radio will be unblocked for a short period between the button-press, and the next poll() call. But 1) won't work if the hardware "forgets" the soft block when the hard block is toggled on and off. Regards Alan -- 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