1. 17 8月, 2010 1 次提交
    • J
      mac80211: support use of NAPI for bottom-half processing · 4e6cbfd0
      John W. Linville 提交于
      This patch implement basic infrastructure to support use of NAPI by
      mac80211-based hardware drivers.
      
      Because mac80211 devices can support multiple netdevs, a dummy netdev
      is used for interfacing with the NAPI code in the core of the network
      stack.  That structure is hidden from the hardware drivers, but the
      actual napi_struct is exposed in the ieee80211_hw structure so that the
      poll routines in drivers can retrieve that structure.  Hardware drivers
      can also specify their own weight value for NAPI polling.
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4e6cbfd0
  2. 05 8月, 2010 2 次提交
  3. 30 7月, 2010 1 次提交
  4. 29 7月, 2010 3 次提交
    • F
      mac80211: inform drivers about the off-channel status on channel changes · 45521245
      Felix Fietkau 提交于
      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: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      45521245
    • L
      Revert "mac80211: fix sw scan bracketing" · a0daa0e7
      Luis R. Rodriguez 提交于
      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 <johannes.berg@intel.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a0daa0e7
    • Y
      mac80211: Put some code under MESH macro · e4ab7eb0
      Yuri Ershov 提交于
      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: NYuri Ershov <ext-yuri.ershov@nokia.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e4ab7eb0
  5. 28 7月, 2010 1 次提交
    • J
      mac80211: Fix key freeing to handle unlinked keys · 32162a4d
      Jouni Malinen 提交于
      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: NJouni Malinen <j@w1.fi>
      Reviewed-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      32162a4d
  6. 27 7月, 2010 6 次提交
  7. 22 7月, 2010 3 次提交
  8. 21 7月, 2010 4 次提交
  9. 17 7月, 2010 2 次提交
  10. 09 7月, 2010 1 次提交
    • J
      mac80211: remove wep dependency · 3473187d
      John W. Linville 提交于
      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: NJohn W. Linville <linville@tuxdriver.com>
      3473187d
  11. 03 7月, 2010 2 次提交
  12. 01 7月, 2010 1 次提交
  13. 30 6月, 2010 2 次提交
  14. 29 6月, 2010 3 次提交
  15. 25 6月, 2010 4 次提交
  16. 24 6月, 2010 1 次提交
  17. 22 6月, 2010 2 次提交
    • J
      mac80211: Add interface for driver to temporarily disable dynamic ps · f90754c1
      Juuso Oikarinen 提交于
      This mechanism introduced in this patch applies (at least) for hardware
      designs using a single shared antenna for both WLAN and BT. In these designs,
      the antenna must be toggled between WLAN and BT.
      
      In those hardware, managing WLAN co-existence with Bluetooth requires WLAN
      full power save whenever there is Bluetooth activity in order for WLAN to be
      able to periodically relinquish the antenna to be used for BT. This is because
      BT can only access the shared antenna when WLAN is idle or asleep.
      
      Some hardware, for instance the wl1271, are able to indicate to the host
      whenever there is BT traffic. In essence, the hardware will send an indication
      to the host whenever there is, for example, SCO traffic or A2DP traffic, and
      will send another indication when the traffic is over.
      
      The hardware gets information of Bluetooth traffic via hardware co-existence
      control lines - these lines are used to negotiate the shared antenna
      ownership. The hardware will give the antenna to BT whenever WLAN is sleeping.
      
      This patch adds the interface to mac80211 to facilitate temporarily disabling
      of dynamic power save as per request of the WLAN driver. This interface will
      immediately force WLAN to full powersave, hence allowing BT coexistence as
      described above.
      
      In these kind of shared antenna desings, when WLAN powersave is fully disabled,
      Bluetooth will not work simultaneously with WLAN at all. This patch does not
      address that problem. This interface will not change PSM state, so if PSM is
      disabled it will remain so. Solving this problem requires knowledge about BT
      state, and is best done in user-space.
      Signed-off-by: NJuuso Oikarinen <juuso.oikarinen@nokia.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f90754c1
    • G
      mac80211: Fix compile warning in scan.c. · fb63bc41
      Gertjan van Wingerde 提交于
      Fix the following compile warning:
      
      CC [M]  net/mac80211/scan.o
      net/mac80211/scan.c: In function 'ieee80211_request_internal_scan':
      net/mac80211/scan.c:749:23: warning: comparison between 'enum nl80211_band' and 'enum ieee80211_band'
      
      caused by the local variable band not being of the proper 'ieee80211_band' type.
      Signed-off-by: NGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fb63bc41
  18. 19 6月, 2010 1 次提交
    • J
      mac80211: fix sw scan bracketing · 543708be
      Johannes Berg 提交于
      Currently, detection in hwsim and ath9k can
      detect that two sw scans are in flight at the
      same time, which isn't really true. It is
      caused by a race condition, because the scan
      complete callback is called too late, after
      the lock has been dropped, so that a new scan
      can be started before it is called.
      
      It is also called too early semantically, as
      it is currently called _after_ the return to
      the operating channel -- it should be before
      so that drivers know this is the operating
      channel again.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      543708be