Hi everyone, > > I'm attaching the updated patch (sorry, git send-email seems to still > > not be very graceful with line breaks when the SMTP implementation is > > exchange from what i've seen) > > > +static void compal_rfkill_poll(struct rfkill *rfkill, void *data) > > +{ > > + unsigned long radio = (unsigned long) data; > > + u8 result; > > + bool hw_blocked; > > + bool sw_blocked; > > + > > + ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); > > + > > + hw_blocked = !(result & KILLSWITCH_MASK); > > + sw_blocked = (!hw_blocked && !(result & radio)); > > + > > + rfkill_set_states(rfkill, sw_blocked, hw_blocked); > > +} > > I assume you have good reason for having sw_block depend on hw_block. > I.e. you can't read sw_blocked while hw_blocked is set, right? > > If KILLSWITCH is toggled on and off, will the hardware "forget" any > prior soft-blocks? That's a bit strange indeed, but I haven't seen the rest of the code. Does the 'soft block' bit change based on user input, like pressing a button? If not, you shouldn't poll that bit at all, but just set it based on what rfkill gives you as the return value of set_hw_state(). hth, johannes
Attachment:
signature.asc
Description: This is a digitally signed message part