Re: Regression in 2.6.27-rcX caused by commit bc19d6e0b74ef03a3baf035412c95192b54dfc6f

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Henrique de Moraes Holschuh
Date: Wednesday, September 17, 2008 - 8:18 am

On Wed, 17 Sep 2008, Michael Buesch wrote:

I would suggest reading the updated docs, but I know you'd rather just stay
away from rfkill.

For reference:

Basically, your wireless device driver has to monitor any hardware rfkill
lines and call rfkill_force_state() accordingly (you don't even need to
track if the state changed, rfkill core will do that).

The call to rfkill_force_state() should set state to HARD_BLOCKED (any of
the hardware rfkill lines are active), SOFT_BLOCKED (no hardware rfkill
lines are active, but one of the software rfkill lines are active), or
UNBLOCKED (no rfkill lines of any type are active).

Whether this is to be done through interrupts or pooling is something that
depends on your driver and the hardware.

User and userspace interaction is taken care of by the rfkill core.  You do
nothing of the sort in the wireless device driver.

There are *very few* exceptions for the above as far as wireless device
drivers go.  They are explained in the docs, and I know of no wireless
device driver that would require any them.


Again, for reference:

You need to synthesize a single state (unblock/soft-block/hard-block) for a
transmitter from every rfkill line that affects that transmitter.  This
happens because the interface is a SINGLE ONE rfkill class per independent
wireless interface ("transmitter").


That's quite understandable...  b43 is one of the drivers (if not THE
driver) that suffered most from rfkill bugs, as it was an early adopter and
the old rfkill API was just plain broken for the kind of stuff b43 needed it
for.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Regression in 2.6.27-rcX caused by commit bc19d6e ..., Carlos Corbacho, (Tue Sep 16, 1:44 pm)
Re: Regression in 2.6.27-rcX caused by commit bc19d6e0b74e ..., Henrique de Moraes H ..., (Tue Sep 16, 3:37 pm)
Re: Regression in 2.6.27-rcX caused by commit bc19d6e0b74e ..., Henrique de Moraes H ..., (Tue Sep 16, 3:40 pm)
Re: Regression in 2.6.27-rcX caused by commit bc19d6e0b74e ..., Henrique de Moraes H ..., (Tue Sep 16, 7:33 pm)
Re: Regression in 2.6.27-rcX caused by commit bc19d6e0b74e ..., Henrique de Moraes H ..., (Wed Sep 17, 7:50 am)
Re: Regression in 2.6.27-rcX caused by commit bc19d6e0b74e ..., Henrique de Moraes H ..., (Wed Sep 17, 8:18 am)
Re: Regression in 2.6.27-rcX caused by commit bc19d6e0b74e ..., Henrique de Moraes H ..., (Wed Sep 17, 8:36 am)
[PATCH] rfkill: update LEDs for all state changes, Henrique de Moraes H ..., (Wed Sep 17, 1:07 pm)
Re: [PATCH] rfkill: update LEDs for all state changes, Larry Finger, (Wed Sep 17, 1:55 pm)
Re: [PATCH] rfkill: update LEDs for all state changes, Henrique de Moraes H ..., (Thu Sep 18, 5:43 am)
Re: [PATCH] rfkill: update LEDs for all state changes, Ivo van Doorn, (Thu Sep 18, 5:49 am)
Re: [PATCH] rfkill: update LEDs for all state changes, Larry Finger, (Thu Sep 18, 6:09 am)
Re: [PATCH] rfkill: update LEDs for all state changes, Henrique de Moraes H ..., (Thu Sep 18, 6:18 am)