1. 16 1月, 2013 1 次提交
    • J
      mac80211: fix FT roaming · 1626e0fa
      Johannes Berg 提交于
      During FT roaming, wpa_supplicant attempts to set the
      key before association. This used to be rejected, but
      as a side effect of my commit 66e67e41
      ("mac80211: redesign auth/assoc") the key was accepted
      causing hardware crypto to not be used for it as the
      station isn't added to the driver yet.
      
      It would be possible to accept the key and then add it
      to the driver when the station has been added. However,
      this may run into issues with drivers using the state-
      based station adding if they accept the key only after
      association like it used to be.
      
      For now, revert to the behaviour from before the auth
      and assoc change.
      
      Cc: stable@vger.kernel.org
      Reported-by: NCédric Debarge <cedric.debarge@acksys.fr>
      Tested-by: NCédric Debarge <cedric.debarge@acksys.fr>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1626e0fa
  2. 03 1月, 2013 1 次提交
  3. 29 11月, 2012 1 次提交
  4. 27 11月, 2012 1 次提交
  5. 26 11月, 2012 6 次提交
    • J
      mac80211: support VHT rates in TX info · 8bc83c24
      Johannes Berg 提交于
      To achieve this, limit the number of retries to
      31 (instead of 255) and use the three bits that
      are then free for VHT flags.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8bc83c24
    • J
      mac80211: support drivers reporting VHT RX · 5614618e
      Johannes Berg 提交于
      Add support to mac80211 for having drivers report
      received VHT MCS information.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5614618e
    • J
      mac80211: convert to channel definition struct · 4bf88530
      Johannes Berg 提交于
      Convert mac80211 (and where necessary, some drivers a
      little bit) to the new channel definition struct.
      
      This will allow extending mac80211 for VHT, which is
      currently restricted to channel contexts since there
      are no drivers using that which makes it easier. As
      I also don't care about VHT for drivers not using the
      channel context API, I won't convert the previous API
      to VHT support.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      4bf88530
    • J
      nl80211/cfg80211: support VHT channel configuration · 3d9d1d66
      Johannes Berg 提交于
      Change nl80211 to support specifying a VHT (or HT)
      using the control channel frequency (as before) and
      new attributes for the channel width and first and
      second center frequency. The old channel type is of
      course still supported for HT.
      
      Also change the cfg80211 channel definition struct
      to support these by adding the relevant fields to
      it (and removing the _type field.)
      
      This also adds new helper functions:
       - cfg80211_chandef_create to create a channel def
         struct given the control channel and channel type,
       - cfg80211_chandef_identical to check if two channel
         definitions are identical
       - cfg80211_chandef_compatible to check if the given
         channel definitions are compatible, and return the
         wider of the two
      
      This isn't entirely complete, but that doesn't matter
      until we have a driver using it. In particular, it's
      missing
       - regulatory checks on the usable bandwidth (if that
         even makes sense)
       - regulatory TX power (database can't deal with it)
       - a proper channel compatibility calculation for the
         new channel types
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3d9d1d66
    • J
      cfg80211: pass a channel definition struct · 683b6d3b
      Johannes Berg 提交于
      Instead of passing a channel pointer and channel type
      to all functions and driver methods, pass a new channel
      definition struct. Right now, this struct contains just
      the control channel and channel type, but for VHT this
      will change.
      
      Also, add a small inline cfg80211_get_chandef_type() so
      that drivers don't need to use the _type field of the
      new structure all the time, which will change.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      683b6d3b
    • J
      cfg80211: remove remain-on-channel channel type · 42d97a59
      Johannes Berg 提交于
      As mwifiex (and mac80211 in the software case) are the
      only drivers actually implementing remain-on-channel
      with channel type, userspace can't be relying on it.
      This is the case, as it's used only for P2P operations
      right now.
      
      Rather than adding a flag to tell userspace whether or
      not it can actually rely on it, simplify all the code
      by removing the ability to use different channel types.
      Leave only the validation of the attribute, so that if
      we extend it again later (with the needed capability
      flag), it can't break userspace sending invalid data.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      42d97a59
  6. 19 11月, 2012 1 次提交
  7. 05 11月, 2012 1 次提交
  8. 31 10月, 2012 1 次提交
  9. 30 10月, 2012 3 次提交
    • J
      mac80211: use a counter for remain-on-channel cookie · 50febf6a
      Johannes Berg 提交于
      Instead of using the pointer which can be re-used
      fairly quickly due to allocator patterns and then
      makes debugging difficult, maintain a counter and
      use its value. Since it's a 64-bit value it can't
      really wrap, but catch that case anyway since it
      most likely points to a bug somewhere.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      50febf6a
    • J
      mac80211: handle TX power per virtual interface · 1ea6f9c0
      Johannes Berg 提交于
      Even before channel contexts/multi-channel, having a
      single global TX power limit was already problematic,
      in particular if two managed interfaces connected to
      two APs with different power constraints. The channel
      context introduction completely broke this though and
      in fact I had disabled TX power configuration there
      for drivers using channel contexts.
      
      Change everything to track TX power per interface so
      that different user settings and different channel
      maxima are treated correctly. Also continue tracking
      the global TX power though for compatibility with
      applications that attempt to configure the wiphy's
      TX power globally.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1ea6f9c0
    • J
      cfg80211: allow per interface TX power setting · c8442118
      Johannes Berg 提交于
      The TX power setting is currently per wiphy (hardware
      device) but with multi-channel capabilities that doesn't
      make much sense any more.
      
      Allow drivers (and mac80211) to advertise support for
      per-interface TX power configuration. When the TX power
      is configured for the wiphy, the wdev will be NULL and
      the driver can still handle that, but when a wdev is
      given the TX power can be set only for that wdev now.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c8442118
  10. 26 10月, 2012 2 次提交
  11. 18 10月, 2012 2 次提交
  12. 17 10月, 2012 4 次提交
  13. 19 9月, 2012 1 次提交
  14. 14 9月, 2012 1 次提交
  15. 10 9月, 2012 1 次提交
    • J
      mac80211: add key flag for management keys · e548c49e
      Johannes Berg 提交于
      Mark keys that might be used to receive management
      frames so drivers can fall back on software crypto
      for them if they don't support hardware offload.
      As the new flag is only set correctly for RX keys
      and the existing IEEE80211_KEY_FLAG_SW_MGMT flag
      can only affect TX, also rename the latter to
      IEEE80211_KEY_FLAG_SW_MGMT_TX.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      e548c49e
  16. 05 9月, 2012 1 次提交
  17. 22 8月, 2012 1 次提交
  18. 20 8月, 2012 2 次提交
  19. 31 7月, 2012 4 次提交
    • J
      mac80211: use eth_broadcast_addr · e83e6541
      Johannes Berg 提交于
      Instead of memset().
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      e83e6541
    • J
      mac80211: fix current vs. operating channel in preq/beacon · 6b77863b
      Johannes Berg 提交于
      When sending probe requests, e.g. during software scanning,
      these will go out on the *current* channel, so their IEs
      need to be built from the current channel. At other times,
      e.g. for beacons or probe request templates, the IEs will
      be used on the *operating* channel and using the current
      channel instead might result in errors.
      
      Add the appropriate parameters to respect the difference.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6b77863b
    • J
      mac80211: use oper_channel in utils and config · 679ef4ea
      Johannes Berg 提交于
      Using hw.conf.channel is wrong as it could be the
      temporary channel if any function like the beacon
      get function is called while scanning or during
      other temporary out-of-channel activities.
      
      Use oper_channel instead.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      679ef4ea
    • E
      mac80211: add PS flag to bss_conf · ab095877
      Eliad Peller 提交于
      Currently, ps mode is indicated per device (rather than
      per interface), which doesn't make a lot of sense.
      
      Moreover, there are subtle bugs caused by the inability
      to indicate ps change along with other changes
      (e.g. when the AP deauth us, we'd like to indicate
      CHANGED_PS | CHANGED_ASSOC, as changing PS before
      notifying about disassociation will result in null-packets
      being sent (if IEEE80211_HW_SUPPORTS_DYNAMIC_PS) while
      the sta is already disconnected.)
      
      Keep the current per-device notifications, and add
      parallel per-vif notifications.
      
      In order to keep it simple, the per-device ps and
      the per-vif ps are orthogonal - the per-vif ps
      configuration is determined only by the user
      configuration (enable/disable) and the connection
      state, and is not affected by other vifs state and
      (temporary) dynamic_ps/offchannel operations
      (unlike per-device ps).
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ab095877
  20. 18 7月, 2012 1 次提交
  21. 17 7月, 2012 1 次提交
  22. 13 7月, 2012 2 次提交
  23. 12 7月, 2012 1 次提交