12 Oct, 2011

1 commit


01 Oct, 2011

2 commits


22 Sep, 2011

1 commit

  • When an AP interface is removed without the
    AP/VLAN interfaces having been removed before
    already, the AP-VLAN interface might still
    have sleeping stations and buffer multicast
    frames which will happen on the AP interface.
    Thus, we need to remove AP/VLAN interfaces
    before purging buffered broadcast frames.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

20 Sep, 2011

1 commit


14 Sep, 2011

1 commit


18 Aug, 2011

1 commit


02 Aug, 2011

1 commit

  • When assigning a NULL value to an RCU protected pointer, no barrier
    is needed. The rcu_assign_pointer, used to handle that but will soon
    change to not handle the special case.

    Convert all rcu_assign_pointer of NULL value.

    //smpl
    @@ expression P; @@

    - rcu_assign_pointer(P, NULL)
    + RCU_INIT_POINTER(P, NULL)

    //

    Signed-off-by: Stephen Hemminger
    Acked-by: Paul E. McKenney
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

28 Jul, 2011

1 commit

  • After the last patch, We are left in a state in which only drivers calling
    ether_setup have IFF_TX_SKB_SHARING set (we assume that drivers touching real
    hardware call ether_setup for their net_devices and don't hold any state in
    their skbs. There are a handful of drivers that violate this assumption of
    course, and need to be fixed up. This patch identifies those drivers, and marks
    them as not being able to support the safe transmission of skbs by clearning the
    IFF_TX_SKB_SHARING flag in priv_flags

    Signed-off-by: Neil Horman
    CC: Karsten Keil
    CC: "David S. Miller"
    CC: Jay Vosburgh
    CC: Andy Gospodarek
    CC: Patrick McHardy
    CC: Krzysztof Halasa
    CC: "John W. Linville"
    CC: Greg Kroah-Hartman
    CC: Marcel Holtmann
    CC: Johannes Berg
    Signed-off-by: David S. Miller

    Neil Horman
     

14 Jul, 2011

1 commit


12 Jul, 2011

1 commit


04 Jun, 2011

1 commit


25 May, 2011

1 commit


17 May, 2011

3 commits


06 May, 2011

1 commit

  • Force dev_alloc_name() to be called from register_netdevice() by
    dev_get_valid_name(). That allows to remove multiple explicit
    dev_alloc_name() calls.

    The possibility to call dev_alloc_name in advance remains.

    This also fixes veth creation regresion caused by
    84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743

    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jiri Pirko
     

04 Mar, 2011

1 commit


21 Feb, 2011

1 commit

  • From: Eric W. Biederman

    In the beginning with batching unreg_list was a list that was used only
    once in the lifetime of a network device (I think). Now we have calls
    using the unreg_list that can happen multiple times in the life of a
    network device like dev_deactivate and dev_close that are also using the
    unreg_list. In addition in unregister_netdevice_queue we also do a
    list_move because for devices like veth pairs it is possible that
    unregister_netdevice_queue will be called multiple times.

    So I think the change below to fix dev_deactivate which Eric D. missed
    will fix this problem. Now to go test that.

    Signed-off-by: David S. Miller

    Eric W. Biederman
     

04 Feb, 2011

1 commit


06 Jan, 2011

1 commit


23 Dec, 2010

2 commits

  • The throughput LED trigger was always active when
    the radio was enabled. In most cases that's likely
    the desired behaviour, but iwlwifi requires it to
    be only active when one of the virtual interfaces
    is actually "connected" in some way.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • iwlwifi and other drivers like to blink their LED
    based on throughput. Implement this generically in
    mac80211, based on a throughput table the driver
    specifies. That way, drivers can set the blink
    frequencies depending on their desired behaviour
    and max throughput.

    All the drivers need to do is provide an LED class
    device, best with blink hardware offload.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

07 Dec, 2010

2 commits

  • Instead of tying mesh activity to interface up,
    add join and leave commands for mesh. Since we
    must be backward compatible, let cfg80211 handle
    joining a mesh if a mesh ID was pre-configured
    when the device goes up.

    Note that this therefore must modify mac80211 as
    well since mac80211 needs to lose the logic to
    start the mesh on interface up.

    We now allow querying mesh parameters before the
    mesh is connected, which simply returns defaults.
    Setting them (internally renamed to "update") is
    only allowed while connected. Specify them with
    the new mesh join command instead where needed.

    In mac80211, beaconing must now also follow the
    mesh enabled/not enabled state, which is done
    by testing the mesh ID.

    Signed-off-by: Javier Cardona
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • Logically, the filter adjusting belongs with
    starting/stopping mesh, not interface up/down,
    so move it there.

    Tested-by: Javier Cardona
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

09 Nov, 2010

1 commit

  • For client STA interfaces, ieee80211_do_stop unsets the relevant
    interface's SDATA_STATE_RUNNING state bit prior to cancelling an
    interrupted scan. When ieee80211_offchannel_return is invoked as
    part of cancelling the scan, it doesn't bother unsetting the
    SDATA_STATE_OFFCHANNEL bit because it sees that the interface is
    down. Normally this doesn't matter because when the client STA
    interface is brought back up, it will probably issue a scan. But
    in some cases (e.g., the user changes the interface type while it
    is down), the SDATA_STATE_OFFCHANNEL bit will remain set. This
    prevents the interface queues from being started. So we
    cancel the scan before unsetting the SDATA_STATE_RUNNING bit.

    Signed-off-by: Brian Cavagnolo
    Signed-off-by: John W. Linville

    Brian Cavagnolo
     

14 Oct, 2010

1 commit


07 Oct, 2010

1 commit

  • When roaming while we have active BA session,
    we can end up transmitting delBA frames to
    the old AP while we're already on the new AP's
    channel, which can cause warnings.

    Simply avoid sending those frames, but still
    tear down the internal session state, since
    they are not really necessary anyway as we
    will implicitly disassociate when sending the
    association to the new AP.

    Signed-off-by: Johannes Berg
    Acked-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Johannes Berg
     

06 Oct, 2010

2 commits


17 Sep, 2010

2 commits

  • When a driver advertises p2p device support,
    mac80211 will handle it, but internally it will
    rewrite the interface type to STA/AP rather than
    P2P-STA/GO since otherwise a lot of paths need
    to be touched that are otherwise identical. A
    p2p boolean tells drivers whether or not a given
    interface will be used for p2p or not.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • When an interface is brought up, the recent changes
    to allow changing type-while-up only set the running
    bit after everything was done. This broke a number
    of things, including idle calculation for monitor
    interfaces, and it also broke WDS station insertion
    (although nobody noticed yet).

    Thus, change the code to set the running bit earlier,
    but keep it after the driver's add_interface was
    called because otherwise drivers may iterate over
    interfaces they haven't fully set up yet.

    Reported-by: Rajkumar Manoharan
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

28 Aug, 2010

5 commits

  • Add support to mac80211 for changing the interface
    type even when the interface is UP, if the driver
    supports it.

    To achieve this
    * add a new driver callback for switching,
    * split some of the interface up/down code out
    into new functions (do_open/do_stop), and
    * maintain an own __SDATA_RUNNING bit that will
    not be set during interface type, so that any
    other code doesn't use the interface.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • Split the concurrent virtual interface checks
    into a new function that can be used to check
    for any given new interface type.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • The libertas_tf special code for zero addresses
    is a bit too complex, it compares against a stack
    value instead of using is_zero_ether_addr() and
    tries to update all interfaces even if just the
    one that's being brought up needs to be changed.
    Additionally, the repeated check for a valid MAC
    address need only be done if we actually changed
    it on the fly.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • There's a lot of redundant code in mac80211's
    interface cleanup/down, for example freeing
    AP beacons is done both when the interface is
    set DOWN as well as when it is torn down, of
    which only the former has any effect.

    Also, a bunch of things should be closer to
    where they matter, like the MLME timers that
    we should cancel when disassociating, rather
    than only when the interface is set DOWN.

    Clean up all this code.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • Some vendor specified mechanisms for 802.1X-style
    functionality use a different protocol than EAP
    (even if EAP is vendor-extensible). Support this
    in mac80211 via the cfg80211 API for it.

    Signed-off-by: Johannes Berg
    Signed-off-by: Juuso Oikarinen
    Signed-off-by: John W. Linville

    Johannes Berg
     

26 Aug, 2010

1 commit


25 Aug, 2010

1 commit

  • Allow userspace to register for more than just
    action frames by giving the frame subtype, and
    make it possible to use this in various modes
    as well.

    With some tweaks and some added functionality
    this will, in the future, also be usable in AP
    mode and be able to replace the cooked monitor
    interface currently used in that case.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

17 Aug, 2010

1 commit