1. 27 1月, 2015 2 次提交
  2. 23 1月, 2015 1 次提交
    • J
      mac80211: allow drivers to control software crypto · fa7e1fbc
      Johannes Berg 提交于
      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: NJohannes Berg <johannes.berg@intel.com>
      fa7e1fbc
  3. 22 1月, 2015 1 次提交
    • J
      mac80211: fix HW registration error paths · 54330bf6
      Johannes Berg 提交于
      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: NJohannes Berg <johannes.berg@intel.com>
      54330bf6
  4. 15 12月, 2014 1 次提交
  5. 20 11月, 2014 2 次提交
  6. 27 10月, 2014 3 次提交
  7. 10 10月, 2014 1 次提交
  8. 09 10月, 2014 1 次提交
  9. 05 9月, 2014 1 次提交
  10. 23 6月, 2014 2 次提交
  11. 15 5月, 2014 1 次提交
  12. 25 4月, 2014 1 次提交
  13. 22 4月, 2014 1 次提交
  14. 11 4月, 2014 2 次提交
  15. 09 4月, 2014 1 次提交
  16. 13 2月, 2014 1 次提交
    • J
      mac80211: add NAPI support back · 06d181a8
      Johannes Berg 提交于
      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: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Reviewed-by: NEyal Shapira <eyal@wizery.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      06d181a8
  17. 05 2月, 2014 1 次提交
  18. 06 1月, 2014 1 次提交
  19. 16 12月, 2013 1 次提交
  20. 02 12月, 2013 1 次提交
  21. 26 11月, 2013 1 次提交
  22. 25 11月, 2013 2 次提交
    • K
      mac80211: set hw initial idle state · 24d47300
      Karl Beldan 提交于
      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: NKarl Beldan <karl.beldan@rivierawaves.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      24d47300
    • J
      mac80211: fix scheduled scan rtnl deadlock · 18db594a
      Johannes Berg 提交于
      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: NEliad Peller <eliadx.peller@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      18db594a
  23. 23 8月, 2013 1 次提交
    • J
      mac80211: move setting WIPHY_FLAG_SUPPORTS_SCHED_SCAN into drivers · 1fb90260
      Johannes Berg 提交于
      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: NLuciano Coelho <luca@coelho.fi>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1fb90260
  24. 16 7月, 2013 2 次提交
  25. 04 7月, 2013 1 次提交
  26. 04 6月, 2013 1 次提交
  27. 25 5月, 2013 1 次提交
    • J
      cfg80211/mac80211: use cfg80211 wdev mutex in mac80211 · 8d61ffa5
      Johannes Berg 提交于
      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: NJohannes Berg <johannes.berg@intel.com>
      8d61ffa5
  28. 16 4月, 2013 1 次提交
  29. 08 4月, 2013 1 次提交
  30. 26 3月, 2013 1 次提交
  31. 25 3月, 2013 1 次提交
  32. 19 3月, 2013 1 次提交