Re: rfkill, stupid question #6

From: Alan Jenkins
Date: Mon Nov 03 2008 - 13:00:56 EST


Henrique de Moraes Holschuh wrote:
> On Mon, 03 Nov 2008, Matthew Garrett wrote:
>
>> On Mon, Nov 03, 2008 at 01:02:29PM -0200, Henrique de Moraes Holschuh wrote:
>>
>>> Right now, you should still rfkill_force_state(). Please wait for an hour
>>> or two while I clean up that broken resume handling, and I will tell you for
>>> sure.
>>>
>> Cool. I'll hold off posting my cleanups until then in that case.
>>
>
> Ok, two bugs reproduced, the fixes are ready and tested, and I will be
> sending it now to linux-wireless. You're in the CC, so you will get them.
>
> I will also need to send patches for -stable, as the ones for mainline won't
> apply to -stable.
>
> Now, for what you asked: you DO NOT HAVE to use rfkill_force_state() in your
> driver's resume method, as long as you NEVER make use of
> RFKILL_STATE_HARD_BLOCKED. I have fixed the bug that was messing this up.
>

Thanks for fixing this, even though it doesn't affect my
non-STATE_HARD_BLOCKED-using hardware.

I have one more question. I read that if a STATE_SOFT_BLOCKED request
is made when the hardware is in STATE_HARD_BLOCKED, the rfkill driver is
expected to "double block".

If the hard block is later cleared, the driver is expected to call
rfkill_force_state(SOFT_BLOCKED). The SOFT_BLOCKED state can then be
cleared as normal.

But if there is an UNBLOCK request in the double-blocked state, the
rfkill core will reject it and preserve the double-blocked state. Is
this intended, or a known issue?

Wouldn't it be simpler to use a bitmask so that the rfkill core can at
least represent this double-blocked state? I guess the problem would be
how to shoehorn it into the sysfs interface.

Thanks
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/