11 Aug, 2010

1 commit

  • Since the writing to sysfs can free the old one, we need to block that
    when we access the charp variables.

    Signed-off-by: Rusty Russell
    Reviewed-by: Takashi Iwai
    Tested-by: Phil Carmody
    Cc: Jeff Dike
    Cc: Dan Williams
    Cc: John W. Linville
    Cc: Jing Huang
    Cc: James E.J. Bottomley
    Cc: Greg Kroah-Hartman
    Cc: Johannes Berg
    Cc: David S. Miller
    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: libertas-dev@lists.infradead.org
    Cc: linux-wireless@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: linux-scsi@vger.kernel.org
    Cc: linux-usb@vger.kernel.org

    Rusty Russell
     

05 Aug, 2010

2 commits


30 Jul, 2010

2 commits


29 Jul, 2010

3 commits

  • For some drivers it can be useful to know whether the channel they're
    supposed to switch to is going to be used for short off-channel work or
    scanning, or whether the hardware is expected to stay on it for a while
    longer. This is important for various kinds of calibration work, which
    takes longer to complete and should keep some persistent state, even if
    the channel temporarily changes.

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

    Felix Fietkau
     
  • This reverts this commit. While in theory the change is
    correct the patch does not address current assumptions made
    by some drivers, one which is definitley affected is ath9k.

    Prior to this change the scan complete callback would be
    called after we returned to the home channel and configured
    the hardware RX filters. After this change we call the scan
    complete callback prior to both the hw config and the config
    filter. At least for ath9k this breaks quite a few assumptions
    on the callback, leading to disconnects to the AP after every scan
    making the driver pretty useless on STA mode. The goal behind
    this commit was to address the now understood spurious warnings
    from ath9k and mac80211_hwsim on scanning on two wiphys at the
    same time but we have now supressed these and will address this
    issue in the next kernel release.

    When fixing this for good next we must first review the other
    driver's dependence on this logic and perhaps consider removal
    of the scan complete callback all together.

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

    Luis R. Rodriguez
     
  • In the function ieee80211_subif_start_xmit the logic related with
    meshdrlen is under CONFIG_MAC80211_MESH macro, but in one place it isn't.
    This is some update for this

    Signed-off-by: Yuri Ershov
    Signed-off-by: John W. Linville

    Yuri Ershov
     

28 Jul, 2010

2 commits

  • Conflicts:
    drivers/net/bnx2x_main.c

    Merge bnx2x bug fixes in by hand... :-/

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Key locking simplification removed key->sdata != NULL verification from
    ieee80211_key_free(). While that is fine for most use cases, there is one
    path where this function can be called with an unlinked key (i.e.,
    key->sdata == NULL && key->local == NULL). This results in a NULL pointer
    dereference with the current implementation. This is known to happen at
    least with FT protocol when wpa_supplicant tries to configure the key
    before association.

    Avoid the issue by passing in the local pointer to
    ieee80211_key_free(). In addition, do not clear the key from hw_accel
    or debugfs if it has not yet been added. At least the hw_accel one could
    trigger another NULL pointer dereference.

    Signed-off-by: Jouni Malinen
    Reviewed-by: Johannes Berg
    Signed-off-by: John W. Linville

    Jouni Malinen
     

27 Jul, 2010

8 commits


24 Jul, 2010

1 commit


22 Jul, 2010

3 commits

  • IBSS has never had locking, instead relying on some
    memory barriers etc. That's hard to get right, and
    I think we had it wrong too until the previous patch.
    Since this is not performance sensitive, it doesn't
    make sense to have the maintenance overhead of that,
    so add proper locking.

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

    Johannes Berg
     
  • Bob reported a lockdep complaint originating in
    the mac80211 IBSS code due to the common work
    struct patch. The reason is that the IBSS and
    station mode code have different locking orders
    for the cfg80211 wdev lock and the work struct
    (where "locking" implies running/canceling).

    Fix this by simply not canceling the work in
    the IBSS code, it is not necessary since when
    the REQ_RUN bit is cleared, the work will run
    without effect if it runs. When the interface
    is set down, it is flushed anyway, so there's
    no concern about it running after memory has
    been invalidated either.

    This fixes
    https://bugzilla.kernel.org/show_bug.cgi?id=16419

    Additionally, looking into this I noticed that
    there's a small window while the IBSS is torn
    down in which the work may be rescheduled and
    the REQ_RUN bit be set again after leave() has
    cleared it when a scan finishes at exactly the
    same time. Avoid that by setting the ssid_len
    to zero before clearing REQ_RUN which signals
    to the scan finish code that this interface is
    not active.

    Reported-by: Bob Copeland
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • When WEP is not available, we should reject shared
    key authentication because it could never succeed.

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

    Johannes Berg
     

21 Jul, 2010

4 commits

  • If a station interface is reused as monitor interface it is possible that
    the carrier is still set to off. This breaks packet injection on that
    monitor interface.
    Force the carrier on in monitor interface initialisation like it is also done
    for other interface types (e.g. adhoc, mesh point, ap).

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

    David Gnedt
     
  • Ever since

    commit e1b3ec1a2a336c328c336cfa5485a5f0484cc90d
    Author: Stanislaw Gruszka
    Date: Mon Mar 29 12:18:34 2010 +0200

    mac80211: explicitly disable/enable QoS

    mac80211 is telling drivers, in particular
    iwlwifi, whether QoS is enabled or not.

    However, this is only relevant for station mode,
    since only then will any device send nullfunc
    frames and need to know whether they should be
    QoS frames or not. In other modes, there are
    (currently) no frames the device is supposed to
    send.

    When you now consider virtual interfaces, it
    becomes apparent that the current mechanism is
    inadequate since it enables/disables QoS on a
    global scale, where for nullfunc frames it has
    to be on a per-interface scale.

    Due to the above considerations, we can change
    the way mac80211 advertises the QoS state to
    drivers to only ever advertise it as "off" in
    station mode, and make it a per-BSS setting.

    Tested-by: Stanislaw Gruszka
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • When aggregation related action frames are enqueued for further work,
    and they originate from a STA that is part of an AP VLAN, they are
    currently enqueued for the AP interface. This breaks the sta_info_get()
    lookup in the actual work function, and because of that, aggregation
    sessions are not established for this STA.

    Fix this by replacing the sta_info_get call with a call to
    sta_info_get_bss.

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

    Felix Fietkau
     
  • These synthetic frames are all triggered from userland requests in
    process context.

    https://bugzilla.kernel.org/show_bug.cgi?id=16412

    Signed-off-by: John W. Linville

    John W. Linville
     

17 Jul, 2010

2 commits


14 Jul, 2010

1 commit


09 Jul, 2010

1 commit

  • The current mac80211 code assumes that WEP is always available. If WEP
    fails to initialize, ieee80211_register_hw will always fail.

    In some cases (e.g. FIPS certification), the cryptography used by WEP is
    unavailable. However, in such cases there is no good reason why CCMP
    encryption (or even no link level encryption) cannot be used. So, this
    patch removes mac80211's assumption that WEP (and TKIP) will always be
    available for use.

    Signed-off-by: John W. Linville

    John W. Linville
     

03 Jul, 2010

2 commits


02 Jul, 2010

1 commit


01 Jul, 2010

1 commit

  • Allow selection of minstrel_ht as default rate control algorithm. At
    the moment minstrel_ht can only be requested by the driver code but
    not selected as default in make menuconfig. Fix this by using
    minstrel_ht when minstrel was selected as default and minstrel_ht
    is available.

    This change won't affect legacy devices as minstrel_ht falls back to
    minstrel in that case.

    Signed-off-by: Helmut Schaa
    Signed-off-by: John W. Linville

    Helmut Schaa
     

30 Jun, 2010

2 commits


29 Jun, 2010

3 commits


25 Jun, 2010

1 commit

  • 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