1. 28 Feb, 2015 1 commit
    • Johannes Berg's avatar
      mac80211: remove TX latency measurement code · abfbc3af
      Johannes Berg authored
      Revert commit ad38bfc9
      
       ("mac80211: Tx frame latency statistics")
      (along with some follow-up fixes).
      
      This code turned out not to be as useful in the current form as we
      thought, and we've internally hacked it up more, but that's not
      very suitable for upstream (for now), and we might just do that
      with tracing instead.
      
      Therefore, for now at least, remove this code. We might also need
      to use the skb->tstamp field for the TCP performance issue, which
      is more important than the debugging.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      abfbc3af
  2. 27 Jan, 2015 4 commits
  3. 22 Jan, 2015 1 commit
    • Johannes Berg's avatar
      mac80211: allow drivers to control software crypto · fa7e1fbc
      Johannes Berg authored
      
      
      Some drivers unfortunately cannot support software crypto, but
      mac80211 currently assumes that they do.
      
      This has the issue that if the hardware enabling fails for some
      reason, the software fallback is used, which won't work. This
      clearly isn't desirable, the error should be reported and the
      key setting refused.
      
      Support this in mac80211 by allowing drivers to set a new HW
      flag IEEE80211_HW_SW_CRYPTO_CONTROL, in which case mac80211 will
      only allow software fallback if the set_key() method returns 1.
      The driver will also need to advertise supported cipher suites
      so that mac80211 doesn't advertise any (future) software ciphers
      that the driver can't actually do.
      
      While at it, to make it easier to support this, refactor the
      ieee80211_init_cipher_suites() code.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      fa7e1fbc
  4. 21 Jan, 2015 1 commit
    • Johannes Berg's avatar
      mac80211: fix HW registration error paths · 54330bf6
      Johannes Berg authored
      
      
      Station info state is started in allocation, so should be
      destroyed on free (it's just a timer); rate control must
      be freed if anything afterwards fails to initialize.
      
      LED exit should be later, no need for locking there, but
      it needs to be done also when rate init failed.
      
      Also clean up the code by moving a label so the locking
      doesn't have to be done separately.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      54330bf6
  5. 15 Dec, 2014 1 commit
  6. 19 Nov, 2014 2 commits
  7. 27 Oct, 2014 3 commits
  8. 10 Oct, 2014 1 commit
  9. 09 Oct, 2014 1 commit
  10. 05 Sep, 2014 1 commit
  11. 23 Jun, 2014 2 commits
  12. 15 May, 2014 1 commit
  13. 25 Apr, 2014 1 commit
  14. 22 Apr, 2014 1 commit
  15. 11 Apr, 2014 2 commits
  16. 09 Apr, 2014 1 commit
  17. 12 Feb, 2014 1 commit
    • Johannes Berg's avatar
      mac80211: add NAPI support back · 06d181a8
      Johannes Berg authored
      NAPI was originally added to mac80211 a long time ago (by John in
      commit 4e6cbfd0 in July 2010), but then removed years later
      (by Stanislaw in commit 30c97120
      
       in February 2013). No driver
      ever used it, so that was fine.
      
      Now I'm adding support for NAPI to our driver, so add some code
      to mac80211 again  to support NAPI. John was originally wrapping
      some (but not nearly all NAPI-related functions), but that doesn't
      scale very well with the number of functions that are there, some
      of which are even only inlines. Thus, instead of doing that, let
      the drivers manage the NAPI struct, except for napi_add() which is
      needed so mac80211 knows how to call napi_gro_receive().
      
      Also remove some no longer needed definitions that were left when
      NAPI support was removed.
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Reviewed-by: default avatarEyal Shapira <eyal@wizery.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      06d181a8
  18. 04 Feb, 2014 1 commit
  19. 06 Jan, 2014 1 commit
  20. 16 Dec, 2013 1 commit
  21. 02 Dec, 2013 1 commit
  22. 25 Nov, 2013 3 commits
    • Max Stepanov's avatar
      mac80211: add generic cipher scheme support · 2475b1cc
      Max Stepanov authored
      
      
      This adds generic cipher scheme support to mac80211, such schemes
      are fully under control by the driver. On hw registration drivers
      may specify additional HW ciphers with a scheme how these ciphers
      have to be handled by mac80211 TX/RR. A cipher scheme specifies a
      cipher suite value, a size of the security header to be added to
      or stripped from frames and how the PN is to be verified on RX.
      Signed-off-by: default avatarMax Stepanov <Max.Stepanov@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      2475b1cc
    • Karl Beldan's avatar
      mac80211: set hw initial idle state · 24d47300
      Karl Beldan authored
      
      
      ATM, the first call of ieee80211_do_open will configure the hw as
      non-idle, even if the interface being brought up is not a monitor, and
      this leads to inconsistent sequences like:
      
      register_hw()
      	do_open(sta)
      		hw_config(non-idle)
      (.. sta is non-idle ..)
      scan(sta)
      	hw_config(idle) (after scan finishes)
      do_stop(sta)
      do_open(sta)
      (.. sta is idle ..)
      Signed-off-by: default avatarKarl Beldan <karl.beldan@rivierawaves.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      24d47300
    • Johannes Berg's avatar
      mac80211: fix scheduled scan rtnl deadlock · 18db594a
      Johannes Berg authored
      When changing cfg80211 to use RTNL locking, this caused a
      deadlock in mac80211 as it calls cfg80211_sched_scan_stopped()
      from a work item that's on a workqueue that is flushed with
      the RTNL held.
      
      Fix this by simply using schedule_work(), the work only needs
      to finish running before the wiphy is unregistered, no other
      synchronisation (e.g. with suspend) is really required since
      for suspend userspace is already blocked anyway when we flush
      the workqueue so will only pick up the event after resume.
      
      Cc: stable@vger.kernel.org
      Fixes: 5fe231e8
      
       ("cfg80211: vastly simplify locking")
      Reported-and-tested-by: default avatarEliad Peller <eliadx.peller@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      18db594a
  23. 23 Aug, 2013 1 commit
    • Johannes Berg's avatar
      mac80211: move setting WIPHY_FLAG_SUPPORTS_SCHED_SCAN into drivers · 1fb90260
      Johannes Berg authored
      
      
      mac80211 currently sets WIPHY_FLAG_SUPPORTS_SCHED_SCAN based on whether
      the start_sched_scan operation is supported or not, but that will not
      be correct for all drivers, we're adding scheduled scan to the iwlmvm
      driver but it depends on firmware support.
      
      Therefore, move setting WIPHY_FLAG_SUPPORTS_SCHED_SCAN into the drivers
      so that they can control it regardless of implementing the operation.
      
      This currently only affects the TI drivers since they're the only ones
      implementing scheduled scan (in a mac80211 driver.)
      Acked-by: default avatarLuciano Coelho <luca@coelho.fi>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      1fb90260
  24. 16 Jul, 2013 2 commits
  25. 03 Jul, 2013 1 commit
  26. 03 Jun, 2013 1 commit
  27. 24 May, 2013 1 commit
    • Johannes Berg's avatar
      cfg80211/mac80211: use cfg80211 wdev mutex in mac80211 · 8d61ffa5
      Johannes Berg authored
      
      
      Using separate locks in cfg80211 and mac80211 has always
      caused issues, for example having to unlock in places in
      mac80211 to call cfg80211, which even needed a framework
      to make cfg80211 calls after some functions returned etc.
      
      Additionally, I suspect some issues people have reported
      with the cfg80211 state getting confused could be due to
      such issues, when cfg80211 is asking mac80211 to change
      state but mac80211 is in the process of telling cfg80211
      that the state changed (in another way.)
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8d61ffa5
  28. 16 Apr, 2013 1 commit
  29. 08 Apr, 2013 1 commit