1. 03 1月, 2013 3 次提交
    • J
      wireless: use __aligned · 1c06ef98
      Johannes Berg 提交于
      Use __aligned(...) instead of __attribute__((aligned(...)))
      in mac80211 and cfg80211.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1c06ef98
    • J
      mac80211: split TX aggregation stop action · 18b559d5
      Johannes Berg 提交于
      When TX aggregation is stopped, there are a few
      different cases:
       - connection with the peer was dropped
       - session stop was requested locally
       - session stop was requested by the peer
       - connection was dropped while a session is stopping
      
      The behaviour in these cases should be different, if
      the connection is dropped then the driver should drop
      all frames, otherwise the frames may continue to be
      transmitted, aggregated in the case of a locally
      requested session stop or unaggregated in the case of
      the peer requesting session stop.
      
      Split these different cases so that the driver can
      act accordingly; however, treat local and remote stop
      the same way and ask the driver to not send frames as
      aggregated packets any more.
      
      In the case of connection drop, the stop callback the
      driver is otherwise supposed to call is no longer
      required.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      18b559d5
    • J
      mac80211: fix channel context iteration · 8a61af65
      Johannes Berg 提交于
      During suspend/resume channel contexts might be
      iterated even if they haven't been re-added to
      the driver, keep track of this and skip them in
      iteration. Also use the new status for sanity
      checks.
      
      Also clarify the fact that during HW restart all
      contexts are iterated over (thanks Eliad.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8a61af65
  2. 05 12月, 2012 1 次提交
  3. 03 12月, 2012 1 次提交
  4. 30 11月, 2012 1 次提交
  5. 27 11月, 2012 1 次提交
  6. 26 11月, 2012 4 次提交
  7. 21 11月, 2012 1 次提交
  8. 19 11月, 2012 2 次提交
  9. 14 11月, 2012 1 次提交
  10. 10 11月, 2012 2 次提交
    • J
      mac80211: clarify interface iteration and make it configurable · 8b2c9824
      Johannes Berg 提交于
      During hardware restart, all interfaces are iterated even
      though they haven't been re-added to the driver, document
      this behaviour. The same also happens during resume, which
      is even more confusing since all of the interfaces were
      previously removed from the driver. Make this optional so
      drivers relying on the current behaviour can still use it,
      but to let drivers that don't want this behaviour disable
      it.
      
      Also convert all API users, keeping the old semantics
      except in hwsim, where the new normal ones are desired.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8b2c9824
    • J
      mac80211: call driver method when restart completes · 9214ad7f
      Johannes Berg 提交于
      When the driver requests a restart (reconfiguration) it
      gets all the normal method calls, but can't really tell
      why they're happening. Call a new restart_complete op
      in the driver when the restart completes, so it could
      keep its own state about the restart and clear it there.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9214ad7f
  11. 06 11月, 2012 1 次提交
  12. 30 10月, 2012 1 次提交
    • 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
  13. 26 10月, 2012 1 次提交
  14. 24 10月, 2012 1 次提交
  15. 18 10月, 2012 1 次提交
  16. 17 10月, 2012 5 次提交
  17. 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
  18. 20 8月, 2012 3 次提交
  19. 31 7月, 2012 2 次提交
    • T
      mac80211: move TX station pointer and restructure TX · 36323f81
      Thomas Huehn 提交于
      Remove the control.sta pointer from ieee80211_tx_info to free up
      sufficient space in the TX skb control buffer for the upcoming
      Transmit Power Control (TPC).
      Instead, the pointer is now on the stack in a new control struct
      that is passed as a function parameter to the drivers' tx method.
      Signed-off-by: NThomas Huehn <thomas@net.t-labs.tu-berlin.de>
      Signed-off-by: NAlina Friedrichsen <x-alina@gmx.net>
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      [reworded commit message]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      36323f81
    • 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. 12 7月, 2012 2 次提交
    • J
      mac80211: add time synchronisation with BSS for assoc · 8c358bcd
      Johannes Berg 提交于
      Some drivers (iwlegacy, iwlwifi and rt2x00) today use the
      bss_conf.last_tsf value. By itself though that value is
      completely worthless since it may be ancient. What really
      is needed is synchronisation between some device time and
      the TSF.
      
      To clarify this, rename bss_conf.last_tsf to sync_tsf and
      add sync_device_ts which is obtained from rx_status which
      gets a new field device_timestamp for this purpose. This
      is intentionally not using the mactime field since that
      is used for other things and in IBSS is expected to sync
      with the IBSS's TSF which isn't necessarily true for the
      device timestamp.
      
      Also, since we have the information and it's useful even
      before the connection has been established, give all the
      timing details to the driver before authenticating.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8c358bcd
    • J
      mac80211: optimize ieee80211_rx_status struct layout · 30f42292
      Johannes Berg 提交于
      We waste a lot of space in this struct because it uses
      int values where smaller ones would be sufficient. The
      upcoming A-MPDU information needs some space, optimize
      the struct now.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      30f42292
  21. 09 7月, 2012 1 次提交
  22. 03 7月, 2012 2 次提交
  23. 02 7月, 2012 1 次提交
  24. 28 6月, 2012 1 次提交