1. 23 Nov, 2012 1 commit
  2. 13 Nov, 2012 1 commit
  3. 06 Nov, 2012 1 commit
  4. 30 Oct, 2012 2 commits
    • Johannes Berg's avatar
      mac80211: use a counter for remain-on-channel cookie · 50febf6a
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      50febf6a
    • Johannes Berg's avatar
      mac80211: handle TX power per virtual interface · 1ea6f9c0
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      1ea6f9c0
  5. 19 Oct, 2012 1 commit
    • Marco Porsch's avatar
      mac80211: make client powersave independent of interface type · d012a605
      Marco Porsch authored
      
      
      This patch prepares mac80211 for a later implementation of mesh or
      ad-hoc powersave clients.
      The structures related to powersave (buffer, TIM map, counters) are
      moved from the AP-specific interface structure to a generic structure
      that can be embedded into any interface type.
      The functions related to powersave are prepared to allow easy
      extension with different interface types. For example with:
      
      + } else if (sta->sdata->vif.type == NL80211_IFTYPE_MESH_POINT) {
      +         ps = &sdata->u.mesh.ps;
      
      Some references to the AP's beacon structure are removed where they
      were obviously not used.
      
      The patch compiles without warning and has been briefly tested as AP
      interface with one client in PS mode.
      
      Signed-off-by: default avatarMarco Porsch <marco.porsch@etit.tu-chemnitz.de>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      d012a605
  6. 18 Oct, 2012 2 commits
  7. 17 Oct, 2012 6 commits
  8. 16 Oct, 2012 2 commits
  9. 14 Sep, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: handle power constraint/country IE better · 04b7b2ff
      Johannes Berg authored
      
      
      Currently, mac80211 uses the power constraint IE, and reduces
      the regulatory max TX power by it. This can cause issues if
      the AP is advertising a large power constraint value matching
      a high TX power in its country IE, for example in this case:
      
      ...
      Country: US  Environment: Indoor/Outdoor
          ...
          Channels [157 - 157] @ 30 dBm
          ...
      Power constraint: 13 dB
      ...
      
      What happened here is that our local regulatory TX power is
      15 dBm, and gets reduced by 13 dB so we end up with only
      2 dBm effective TX power, which is way too low.
      
      Instead, handle the country IE/power constraint IE combined
      and restrict our TX power to the max of the regulatory power
      and the maximum power advertised by the AP, in this case
      17 dBm (= 30 dBm - 13 dB).
      
      Also print a message when this happens to let the user know
      and help us debug issues with it.
      
      Reported-by: default avatarCarl A. Cook <CACook@quantum-equities.com>
      Tested-by: default avatarCarl A. Cook <CACook@quantum-equities.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      04b7b2ff
  10. 11 Sep, 2012 1 commit
  11. 07 Sep, 2012 1 commit
  12. 06 Sep, 2012 3 commits
  13. 20 Aug, 2012 5 commits
  14. 31 Jul, 2012 4 commits
    • Johannes Berg's avatar
      mac80211: use correct channel in TX · 2d56577b
      Johannes Berg authored
      
      
      Since we only need the band, remove the channel
      pointer from struct ieee80211_tx_data and also
      assign it properly, depending on context, to the
      correct operating or current channel.
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      2d56577b
    • Johannes Berg's avatar
      mac80211: fix current vs. operating channel in preq/beacon · 6b77863b
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      6b77863b
    • Eliad Peller's avatar
      mac80211: add PS flag to bss_conf · ab095877
      Eliad Peller authored
      
      
      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: default avatarEliad Peller <eliad@wizery.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      ab095877
    • Mahesh Palivela's avatar
      mac80211: VHT (11ac) association · d545daba
      Mahesh Palivela authored
      
      
      Insert VHT IEs into association frames to allow
      mac80211 to connect as a VHT client.
      
      Signed-off-by: default avatarMahesh Palivela <maheshp@posedge.com>
      [clarify commit message]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      d545daba
  15. 13 Jul, 2012 1 commit
  16. 12 Jul, 2012 5 commits
  17. 09 Jul, 2012 1 commit
    • Johannes Berg's avatar
      cfg80211: use wdev in mgmt-tx/ROC APIs · 71bbc994
      Johannes Berg authored
      
      
      The management frame and remain-on-channel APIs will be
      needed in the P2P device abstraction, so move them over
      to the new wdev-based APIs. Userspace can still use both
      the interface index and wdev identifier for them so it's
      backward compatible, but for the P2P Device wdev it will
      be able to use the wdev identifier only.
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      71bbc994
  18. 02 Jul, 2012 1 commit
  19. 29 Jun, 2012 1 commit