1. 12 7月, 2011 1 次提交
  2. 08 7月, 2011 3 次提交
    • J
      mac80211: allow driver to generate P1K for IV32 · 42d98795
      Johannes Berg 提交于
      In order to support pre-populating the P1K cache in
      iwlwifi hardware for WoWLAN, we need to calculate
      the P1K for the current IV32. Allow drivers to get
      the P1K for any given IV32 instead of for a given
      packet, but keep the packet-based version around as
      an inline.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      42d98795
    • J
      mac80211: allow drivers to access key sequence counter · 3ea542d3
      Johannes Berg 提交于
      In order to implement GTK rekeying, the device needs
      to be able to encrypt frames with the right PN/IV and
      check the PN/IV in RX frames. To be able to tell it
      about all those counters, we need to be able to get
      them from mac80211, this adds the required API.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3ea542d3
    • J
      mac80211: fix TKIP races, make API easier to use · 523b02ea
      Johannes Berg 提交于
      Our current TKIP code races against itself on TX
      since we can process multiple packets at the same
      time on different ACs, but they all share the TX
      context for TKIP. This can lead to bad IVs etc.
      
      Also, the crypto offload helper code just obtains
      the P1K/P2K from the cache, and can update it as
      well, but there's no guarantee that packets are
      really processed in order.
      
      To fix these issues, first introduce a spinlock
      that will protect the IV16/IV32 values in the TX
      context. This first step makes sure that we don't
      assign the same IV multiple times or get confused
      in other ways.
      
      Secondly, change the way the P1K cache works. I
      add a field "p1k_iv32" that stores the value of
      the IV32 when the P1K was last recomputed, and
      if different from the last time, then a new P1K
      is recomputed. This can cause the P1K computation
      to flip back and forth if packets are processed
      out of order. All this also happens under the new
      spinlock.
      
      Finally, because there are argument differences,
      split up the ieee80211_get_tkip_key() API into
      ieee80211_get_tkip_p1k() and ieee80211_get_tkip_p2k()
      and give them the correct arguments.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      523b02ea
  3. 07 7月, 2011 2 次提交
  4. 06 7月, 2011 1 次提交
  5. 30 6月, 2011 1 次提交
  6. 18 6月, 2011 1 次提交
  7. 11 6月, 2011 1 次提交
  8. 08 6月, 2011 1 次提交
    • S
      mac80211: Stop BA session event from device · f41ccd71
      Shahar Levi 提交于
      Some devices support BT/WLAN co-existence algorigthms.
      In order not to harm the system performance and user experience, the device
      requests not to allow any RX BA session and tear down existing RX BA sessions
      based on system constraints such as periodic BT activity that needs to limit
      WLAN activity (eg.SCO or A2DP).
      In such cases, the intention is to limit the duration of the RX PPDU and
      therefore prevent the peer device to use A-MPDU aggregation.
      
      Adding ieee80211_stop_rx_ba_session() callback
      that can be used by the driver to stop existing BA sessions.
      Signed-off-by: NShahar Levi <shahar_levi@ti.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f41ccd71
  9. 02 6月, 2011 1 次提交
  10. 25 5月, 2011 1 次提交
  11. 23 5月, 2011 1 次提交
  12. 12 5月, 2011 1 次提交
  13. 06 5月, 2011 1 次提交
  14. 29 4月, 2011 2 次提交
  15. 20 4月, 2011 1 次提交
  16. 13 4月, 2011 1 次提交
    • V
      mac80211: Check for queued frames before entering power save. · e8306f98
      Vivek Natarajan 提交于
      In a highly noisy environment, the tx rate of the driver drops and
      the application slows down since it has not yet received ACKs for
      the frames already queued in the hardware. Since this ACK may take
      more than 100ms, stopping the dev queues for entering PS at this
      stage breaks applications, WMM test cases in my testing.
      If there are frames already pending in the tx queue, postponing the
      PS logic helps to avoid redundant queue stops. When power save is
      enabled by default and in a noisy environment, this API certainly
      helps in improving the average throughput.
      Signed-off-by: NVivek Natarajan <vnatarajan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e8306f98
  17. 05 4月, 2011 1 次提交
  18. 31 3月, 2011 1 次提交
  19. 22 3月, 2011 1 次提交
  20. 12 3月, 2011 1 次提交
  21. 26 2月, 2011 2 次提交
    • J
      mac80211: support direct offchannel TX offload · 5f16a436
      Johannes Berg 提交于
      For devices supported by iwlwifi sometimes
      off-channel transmissions need to be handled
      by the device completely. To support this
      mac80211 needs to pass the frame directly
      to the driver and not through the TX path
      as the driver needs the frame and channel
      information at the same time.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5f16a436
    • J
      mac80211: make tx() operation return void · 7bb45683
      Johannes Berg 提交于
      The return value of the tx operation is commonly
      misused by drivers, leading to errors. All drivers
      will drop frames if they fail to TX the frame, and
      they must also properly manage the queues (if they
      didn't, mac80211 would already warn).
      
      Removing the ability for drivers to return a BUSY
      value also allows significant cleanups of the TX
      TX handling code in mac80211.
      
      Note that this also fixes a bug in ath9k_htc, the
      old "return -1" there was wrong.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Tested-by: Sedat Dilek <sedat.dilek@googlemail.com> [ath5k]
      Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> [rt2x00]
      Acked-by: Larry Finger <Larry.Finger@lwfinger.net> [b43, rtl8187, rtlwifi]
      Acked-by: Luciano Coelho <coelho@ti.com> [wl12xx]
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7bb45683
  22. 24 2月, 2011 1 次提交
  23. 04 2月, 2011 2 次提交
    • J
      mac80211: Add testing functionality for TKIP · 681d1190
      Jouni Malinen 提交于
      TKIP countermeasures depend on devices being able to detect Michael
      MIC failures on received frames and for stations to report errors to
      the AP. In order to test that behavior, it is useful to be able to
      send out TKIP frames with incorrect Michael MIC. This testing behavior
      has minimal effect on the TX path, so it can be added to mac80211 for
      convenient use.
      
      The interface for using this functionality is a file in mac80211
      netdev debugfs (tkip_mic_test). Writing a MAC address to the file
      makes mac80211 generate a dummy data frame that will be sent out using
      invalid Michael MIC value. In AP mode, the address needs to be for one
      of the associated stations or ff:ff:ff:ff:ff:ff to use a broadcast
      frame. In station mode, the address can be anything, e.g., the current
      BSSID. It should be noted that this functionality works correctly only
      when associated and using TKIP.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      681d1190
    • A
      mac80211: add HW flag for disabling auto link-PS in AP mode · d057e5a3
      Arik Nemtsov 提交于
      When operating in AP mode the wl1271 hardware filters out null-data
      packets as well as management packets. This makes it impossible for
      mac80211 to monitor the PS mode by using the PM bit of incoming frames.
      
      Implement a HW flag to indicate that mac80211 should ignore the PM bit.
      In addition, expose ieee80211_sta_ps_transition() to make low-level
      drivers capable of controlling PS-mode.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d057e5a3
  24. 20 1月, 2011 3 次提交
  25. 11 1月, 2011 2 次提交
  26. 06 1月, 2011 1 次提交
  27. 23 12月, 2010 2 次提交
  28. 21 12月, 2010 1 次提交
  29. 16 12月, 2010 1 次提交
  30. 01 12月, 2010 1 次提交