1. 13 Feb, 2013 2 commits
  2. 11 Feb, 2013 1 commit
    • Johannes Berg's avatar
      cfg80211: move TSF into IEs · 8cef2c9d
      Johannes Berg authored
      
      
      While technically the TSF isn't an IE, it can be
      necessary to distinguish between the TSF from a
      beacon and a probe response, in particular in
      order to know the next DTIM TBTT, as not all APs
      are spec compliant wrt. TSF==0 being a DTIM TBTT
      and thus the DTIM count needs to be taken into
      account as well.
      
      To allow this, move the TSF into the IE struct
      so it can be known whence it came.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8cef2c9d
  3. 04 Feb, 2013 1 commit
    • Vladimir Kondratiev's avatar
      cfg80211: expand per-station byte counters to 64bit · 42745e03
      Vladimir Kondratiev authored
      
      
      In per-station statistics, present 32bit counters are too small
      for practical purposes - with gigabit speeds, it get overlapped
      every few seconds.
      
      Expand counters in the struct station_info to be 64-bit.
      Driver can still fill only 32-bit and indicate in @filled
      only bits like STATION_INFO_[TR]X_BYTES; in case driver provides
      full 64-bit counter, it should also set in @filled
      bit STATION_INFO_[TR]RX_BYTES64
      
      Netlink sends both 32-bit and 64-bit counters, if present, to not
      break userspace.
      Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      [change to also have 32-bit counters if driver advertises 64-bit]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      42745e03
  4. 31 Jan, 2013 1 commit
  5. 25 Jan, 2013 1 commit
  6. 16 Jan, 2013 6 commits
  7. 03 Jan, 2013 7 commits
  8. 30 Nov, 2012 1 commit
    • Johannes Berg's avatar
      cfg80211: fix BSS struct IE access races · 9caf0364
      Johannes Berg authored
      
      
      When a BSS struct is updated, the IEs are currently
      overwritten or freed. This can lead to races if some
      other CPU is accessing the BSS struct and using the
      IEs concurrently.
      
      Fix this by always allocating the IEs in a new struct
      that holds the data and length and protecting access
      to this new struct with RCU.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      9caf0364
  9. 29 Nov, 2012 2 commits
  10. 28 Nov, 2012 1 commit
  11. 27 Nov, 2012 2 commits
  12. 26 Nov, 2012 4 commits
    • Johannes Berg's avatar
      nl80211/cfg80211: add VHT MCS support · db9c64cf
      Johannes Berg authored
      
      
      Add support for reporting and calculating VHT MCSes.
      
      Note that I'm not completely sure that the bitrate
      calculations are correct, nor that they can't be
      simplified.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      db9c64cf
    • Johannes Berg's avatar
      nl80211/cfg80211: support VHT channel configuration · 3d9d1d66
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      3d9d1d66
    • Johannes Berg's avatar
      cfg80211: pass a channel definition struct · 683b6d3b
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      683b6d3b
    • Johannes Berg's avatar
      cfg80211: remove remain-on-channel channel type · 42d97a59
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      42d97a59
  13. 19 Nov, 2012 1 commit
    • Jouni Malinen's avatar
      cfg80211: Add TDLS event to allow drivers to request operations · 3475b094
      Jouni Malinen authored
      
      
      The NL80211_CMD_TDLS_OPER command was previously used only for userspace
      request for the kernel code to perform TDLS operations. However, there
      are also cases where the driver may need to request operations from
      userspace, e.g., when using security on the AP path. Add a new cfg80211
      function for generating a TDLS operation event for drivers to request a
      new link to be set up (NL80211_TDLS_SETUP) or an existing link to be
      torn down (NL80211_TDLS_TEARDOWN). Drivers can optionally use these
      events, e.g., based on noticing data traffic being sent to a peer
      station that is seen with good signal strength.
      Signed-off-by: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      3475b094
  14. 07 Nov, 2012 2 commits
  15. 05 Nov, 2012 2 commits
  16. 30 Oct, 2012 2 commits
    • Johannes Berg's avatar
      cfg80211: allow per interface TX power setting · c8442118
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      c8442118
    • Johannes Berg's avatar
      nl80211: move "can set channel" check · 71fe96bf
      Johannes Berg authored
      
      
      Setting the wdev to NULL when the channel can't be
      set for that interface type (to treat the channel
      setting for the wiphy/monitor) currently works, but
      is confusing in the code if netdev/wdev aren't both
      set/unset in the same way. Move the check whether
      the channel can be set to where it's needed so that
      wdev and netdev are always both assigned or NULL.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      71fe96bf
  17. 23 Oct, 2012 1 commit
  18. 18 Oct, 2012 3 commits