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-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html