23 Apr, 2009

2 commits

  • Trying to separate header files into net/wireless.h and
    net/cfg80211.h has been a source of confusion. Remove
    net/wireless.h (because there also is the linux/wireless.h)
    and subsume everything into net/cfg80211.h -- except the
    definitions for regulatory structures which get moved to
    a new header net/regulatory.h.

    The "new" net/cfg80211.h is now divided into sections.

    There are no real changes in this patch but code shuffling
    and some very minor documentation fixes.

    I have also, to make things reflect reality, put in a
    copyright line for Luis to net/regulatory.h since that
    is probably exclusively written by him but was formerly
    in a file that only had my copyright line.

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

    Johannes Berg
     
  • It really belongs into that file since it is only relevant
    for managed mode. Move 1:1, not even whitespace changes,
    but make it static and remove from header file.

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

    Johannes Berg
     

28 Feb, 2009

2 commits

  • The AP can switch dynamically between 20/40 Mhz channel width,
    in which case we switch the local operating channel, but the
    rate control algorithm is not notified. This patch adds a new callback
    to indicate such changes to the RC algorithm.

    Currently, HT channel width change is notified, but this callback
    can be used to indicate any new requirements that might come up later on.

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

    Sujith
     
  • This patch splits out the ibss code and data from managed (station) mode.
    The reason to do this is to better separate the state machines, and have
    the code be contained better so it gets easier to determine what exactly
    a given change will affect, that in turn makes it easier to understand.

    This is quite some churn, especially because I split sdata->u.sta into
    sdata->u.mgd and sdata->u.ibss, but I think it's easier to maintain that
    way. I've also shuffled around some code -- null function sending is only
    applicable to managed interfaces so put that into that file, some other
    functions are needed from various places so put them into util, and also
    rearranged the prototypes in ieee80211_i.h accordingly.

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

    Johannes Berg
     

14 Feb, 2009

4 commits


30 Jan, 2009

4 commits


13 Jan, 2009

1 commit


20 Dec, 2008

1 commit

  • HT management is done differently for AP and STA modes, unify
    to just the ->config() callback since HT is fundamentally a
    PHY property and cannot be per-BSS.

    Rename enum nl80211_sec_chan_offset as nl80211_channel_type to denote
    the channel type ( NO_HT, HT20, HT40+, HT40- ).

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

    Sujith
     

26 Nov, 2008

1 commit


11 Nov, 2008

1 commit


01 Nov, 2008

3 commits

  • Wireless HW without any dedicated queues for aggregation
    do not need the ampdu_queues mechanism present right now
    in mac80211. Since mac80211 is still incomplete wrt TX MQ
    changes, do not allow aggregation sessions for drivers that
    set ampdu_queues.

    This is only an interim hack until Intel fixes the requeue issue.

    Signed-off-by: Sujith
    Signed-off-by: Luis Rodriguez
    Signed-off-by: John W. Linville

    Sujith
     
  • The HT handling has the following deficiencies, which I've
    (partially) fixed:
    * it always uses the AP info even if there is no AP,
    hence has no chance of working as an AP
    * it pretends to be HW config, but really is per-BSS
    * channel sanity checking is left to the drivers
    * it generally lets the driver control too much

    HT enabling is still wrong with this patch if you have more than
    one virtual STA mode interface, but that never happens currently.
    Once WDS, IBSS or AP/VLAN gets HT capabilities, it will also be
    wrong, see the comment in ieee80211_enable_ht().

    Additionally, this fixes a number of bugs:
    * mac80211: ieee80211_set_disassoc doesn't notify the driver any
    more since the refactoring
    * iwl-agn-rs: always uses the HT capabilities from the wrong stuff
    mac80211 gives it rather than the actual peer STA
    * ath9k: a number of bugs resulting from the broken HT API

    I'm not entirely happy with putting the HT capabilities into
    struct ieee80211_sta as restricted to our own HT TX capabilities,
    but I see no cleaner solution for now.

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

    Johannes Berg
     
  • This patch cleans up a number of things:
    * the unusable definition of the HT capabilities/HT information
    information elements
    * variable names that are hard to understand
    * mac80211: move ieee80211_handle_ht to ht.c and remove the unused
    enable_ht parameter
    * mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht
    * mac80211: fix bug with casting the result of ieee80211_bss_get_ie
    to an information element _contents_ rather than the
    whole element, add size checking (another out-of-bounds
    access bug fixed!)
    * mac80211: remove some unused return values in favour of BUG_ON
    checking
    * a few minor other things

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

    Johannes Berg
     

28 Oct, 2008

1 commit


16 Sep, 2008

2 commits

  • This patch changes mac80211 to share some more data about
    stations with drivers. Should help iwlwifi and ath9k when
    they get around to updating, and might also help with
    implementing rate control algorithms without internals.

    Signed-off-by: Johannes Berg
    Cc: Sujith Manoharan
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • There's really no reason for mac80211 to be using its
    own interface type defines. Use the nl80211 types and
    simplify the configuration code a bit: there's no need
    to translate them any more now.

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

    Johannes Berg
     

12 Sep, 2008

4 commits