10 Aug, 2010

1 commit


29 Jul, 2010

2 commits


28 Jul, 2010

1 commit

  • Save a few bytes of text

    (allyesconfig)
    $ size drivers/net/wireless/built-in.o*
    text data bss dec hex filename
    3924568 100548 871056 4896172 4ab5ac drivers/net/wireless/built-in.o.new
    3926520 100548 871464 4898532 4abee4 drivers/net/wireless/built-in.o.old

    $ size net/wireless/core.o*
    text data bss dec hex filename
    12843 216 3768 16827 41bb net/wireless/core.o.new
    12328 216 3656 16200 3f48 net/wireless/core.o

    Signed-off-by: Joe Perches
    Signed-off-by: John W. Linville

    Joe Perches
     

27 Jul, 2010

4 commits


22 Jul, 2010

1 commit

  • device_add() is called before adding the phy to the cfg80211 device
    list.

    So if a userspace program uses sysfs uevents to detect new phy
    devices, and queries nl80211 to get phy info, it can get ENODEV even
    though the phy exists in sysfs.

    An easy workaround is to hold the cfg80211 mutex until the phy is
    present in sysfs/cfg80211/debugfs.

    Signed-off-by: Maxime Bizon
    Signed-off-by: John W. Linville

    Maxime Bizon
     

21 Jul, 2010

6 commits


15 Jul, 2010

1 commit

  • When kernel-internal users use cfg80211_get_bss()
    to get a reference to a BSS struct, they may end
    up getting one that would have been removed from
    the list if there had been any userspace access
    to the list. This leads to inconsistencies and
    problems.

    Fix it by making cfg80211_get_bss() ignore BSSes
    that cfg80211_bss_expire() would remove.

    Fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2180

    Cc: stable@kernel.org
    Reported-by: Jiajia Zheng
    Tested-by: Jiajia Zheng
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

14 Jul, 2010

1 commit


13 Jul, 2010

1 commit

  • Ever since mac80211/drivers are no longer
    fully in charge of keeping track of the
    auth status, trying to make them do so will
    fail. Instead of warning and reporting the
    deauthentication to userspace, cfg80211 must
    simply ignore it so that spurious
    deauthentications, e.g. before starting
    authentication, aren't seen by userspace as
    actual deauthentications.

    Cc: stable@kernel.org
    Reported-by: Paul Stewart
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

08 Jul, 2010

1 commit

  • Stanse found that nl80211_set_wiphy imporperly handles a lock and netdev
    reference and contains unreachable code. It is because there return statement
    isntead of assignment to result variable. Fix that.

    Signed-off-by: Jiri Slaby
    Cc: Johannes Berg
    Cc: "John W. Linville"
    Cc: "David S. Miller"
    Cc: Jouni Malinen
    Cc: Samuel Ortiz
    Cc: linux-wireless@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Signed-off-by: John W. Linville

    Jiri Slaby
     

02 Jul, 2010

1 commit


25 Jun, 2010

3 commits

  • This patch adds transmit power setting type and transmit power level attributes
    to NL80211_CMD_SET_WIPHY in order to facilitate adjusting of the transmit power
    level of the device.

    The added attributes allow selection of automatic, limited or fixed transmit
    power level, with the level definable in signed mBm format.

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

    Juuso Oikarinen
     
  • In preparation for a TX power setting interface in the nl80211, change the
    .set_tx_power function to use mBm units instead of dBm for greater accuracy and
    smaller power levels.

    Also, already in advance move the tx_power_setting enumeration to nl80211.

    This change affects the .tx_set_power function prototype. As a result, the
    corresponding changes are needed to modules using it. These are mac80211,
    iwmc3200wifi and rndis_wlan.

    Cc: Samuel Ortiz
    Cc: Jussi Kivilinna
    Signed-off-by: Juuso Oikarinen
    Acked-by: Samuel Ortiz
    Acked-by: Jussi Kivilinna
    Signed-off-by: John W. Linville

    Juuso Oikarinen
     
  • Signed-off-by: John W. Linville

    John W. Linville
     

19 Jun, 2010

2 commits


18 Jun, 2010

1 commit


16 Jun, 2010

1 commit


15 Jun, 2010

2 commits


03 Jun, 2010

2 commits


22 May, 2010

3 commits

  • Specifying a valid channel type will get
    goto out rather than continuing, due to
    missing braces. This affects both remain
    on channel and action frame TX commands.

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

    Johannes Berg
     
  • Since wdev can be NULL, check it before dereferencing it

    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • signal_type is enum cfg80211_signal_type.

    This fixes the gcc warning:

    scan.c: In function `cfg80211_inform_bss':
    scan.c:518:6: warning: comparison between `enum cfg80211_signal_type' and `enum nl80211_bss'
    scan.c: In function `cfg80211_inform_bss_frame':
    scan.c:574:6: warning: comparison between `enum cfg80211_signal_type' and `enum nl80211_bss'

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

    Sujith
     

12 May, 2010

1 commit


08 May, 2010

1 commit

  • Currently (all tested with hwsim) you can do stupid
    things like setting up an AP on a certain channel,
    then adding another virtual interface and making
    that associate on another channel -- this will make
    the beaconing to move channel but obviously without
    the necessary IEs data update.

    In order to improve this situation, first make the
    configuration APIs (cfg80211 and nl80211) aware of
    multi-channel operation -- we'll eventually need
    that in the future anyway. There's one userland API
    change and one API addition. The API change is that
    now SET_WIPHY must be called with virtual interface
    index rather than only wiphy index in order to take
    effect for that interface -- luckily all current
    users (hostapd) do that. For monitor interfaces, the
    old setting is preserved, but monitors are always
    slaved to other devices anyway so no guarantees.

    The second userland API change is the introduction
    of a per virtual interface SET_CHANNEL command, that
    hostapd should use going forward to make it easier
    to understand what's going on (it can automatically
    detect a kernel with this command).

    Other than mac80211, no existing cfg80211 drivers
    are affected by this change because they only allow
    a single virtual interface.

    mac80211, however, now needs to be aware that the
    channel settings are per interface now, and needs
    to disallow (for now) real multi-channel operation,
    which is another important part of this patch.

    One of the immediate benefits is that you can now
    start hostapd to operate on a hardware that already
    has a connection on another virtual interface, as
    long as you specify the same channel.

    Note that two things are left unhandled (this is an
    improvement -- not a complete fix):

    * different HT/no-HT modes

    currently you could start an HT AP and then
    connect to a non-HT network on the same channel
    which would configure the hardware for no HT;
    that can be fixed fairly easily

    * CSA

    An AP we're connected to on a virtual interface
    might indicate switching channels, and in that
    case we would follow it, regardless of how many
    other interfaces are operating; this requires
    more effort to fix but is pretty rare after all

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

    Johannes Berg
     

06 May, 2010

1 commit


28 Apr, 2010

2 commits


24 Apr, 2010

1 commit