Re: Network drivers that don't suspend on interface down



On Thu, 2006-12-21 at 03:14 +0000, Matthew Garrett wrote:
On Wed, Dec 20, 2006 at 10:06:51PM -0500, Dan Williams wrote:

a) tied to the wireless hardware, switch kills hardware directly
b) tied to wireless hardware, but driver handles the kill request
c) just another key, a separate key driver handles the event and asks
the wireless driver to kill the card

It's also complicated because some switches are supposed to rfkill both
an 802.11 module _and_ a bluetooth module at the same time, or I guess
some laptops may even have one rfkill switch for each wireless device.
Furthermore, some people want to 'softkill' the hardware via software
without pushing the key, which is a subset of (b) or (c) above.

If we define interface down as meaning that the device is powered down
and the radio switched off, then (b) and (c) would presumably just need
to ensure that the interface is downed. (a) is a slightly more special
case - if the switch disables the radio, I guess we then want the driver
to down the interface as well.

Correct.

In the (a) case, drivers should presumably refuse to bring the interface
up if the radio is disabled?

Right; the driver simply can't do anything about it, because the switch
is hardwired to the card and either the card's firmware takes care of
it, or the chipset takes care of it. The driver has no say whatsoever
in the state of the card's radio for this case. I tend to think this
case is on it's way out in the same way that fullmac cards are falling
out of favor (ie, do everything in software and save $$$), but they are
around and we need to support them.

In this case, down really does mean down too. The driver cannot honor
requests to set SSID, frequency, etc, because it's simply not possible
at that time.

Dan


-
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/



Relevant Pages

  • [git patches] IDE updates (part 4)
    ... ide: add IDE_HFLAG_BOOTABLE host flag ... alim15x3: always tune PIO ... Fix siimage driver accessing beyond array boundary ... There is a 25/33MHz switch in configuration ...
    (Linux-Kernel)
  • Re: [PATCH] atmel_serial: update the powersave handler to match serial core
    ... I think that a driver can do the request to a the gpio layer (may can be implemented ... pin change interrupt. ... For waking up, we need to switch on the main oscillator, wait until it ...
    (Linux-Kernel)
  • RE: RapidIO - general questions
    ... we sometimes find that, although a switch may ... can train your code to avoid that port or try it later. ... Subject: RapidIO - general questions ... Aux driver - basic driver, ...
    (Linux-Kernel)
  • Re: [PATCH][RESEND] New type of DTV2000H TV Card
    ... But I had installed GPG and signed my patch, maybe this is what I should have done earlier. ... This piece of code used to switch the input of RF signal to "Air Antenna" ... if this patch (and driver) would be able to switch RF ... inputs in DVB-T mode somehow. ...
    (Linux-Kernel)
  • Apparent flow control problem between Gigaswift cards and Cisco C atalyst 6500 switch
    ... I have an E220R running Solaris 9 with a fiber gig card with the ce driver. ... When I hook it to one of our Cisco Catalyst 6500 switches, ... driver, also with a catalyst 6500 switch (but not the same one, which rules ...
    (SunManagers)