1. 03 Jul, 2012 1 commit
  2. 02 Jul, 2012 1 commit
  3. 24 Jun, 2012 1 commit
  4. 21 Jun, 2012 1 commit
  5. 09 May, 2012 1 commit
  6. 11 Apr, 2012 2 commits
  7. 10 Apr, 2012 2 commits
  8. 09 Apr, 2012 1 commit
  9. 12 Mar, 2012 1 commit
  10. 06 Feb, 2012 3 commits
  11. 28 Nov, 2011 1 commit
  12. 21 Nov, 2011 1 commit
  13. 09 Nov, 2011 1 commit
  14. 03 Oct, 2011 1 commit
    • Eliad Peller's avatar
      mac80211: pass vif param to conf_tx() callback · 8a3a3c85
      Eliad Peller authored
      
      tx params should be configured per interface.
      add ieee80211_vif param to the conf_tx callback,
      and change all the drivers that use this callback.
      
      The following spatch was used:
      @rule1@
      struct ieee80211_ops ops;
      identifier conf_tx_op;
      @@
      	ops.conf_tx = conf_tx_op;
      
      @rule2@
      identifier rule1.conf_tx_op;
      identifier hw, queue, params;
      @@
      	conf_tx_op (
      -		struct ieee80211_hw *hw,
      +		struct ieee80211_hw *hw, struct ieee80211_vif *vif,
      		u16 queue,
      		const struct ieee80211_tx_queue_params *params) {...}
      Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8a3a3c85
  15. 30 Sep, 2011 2 commits
    • Johannes Berg's avatar
      mac80211: explicitly notify drivers of frame release · 40b96408
      Johannes Berg authored
      
      iwlwifi needs to know the number of frames that are
      going to be sent to a station while it is asleep so
      it can properly handle the uCode blocking of that
      station.
      
      Before uAPSD, we got by by telling the device that
      a single frame was going to be released whenever we
      encountered IEEE80211_TX_CTL_POLL_RESPONSE. With
      uAPSD, however, that is no longer possible since
      there could be more than a single frame.
      
      To support this model, add a new callback to notify
      drivers when frames are going to be released.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      40b96408
    • Johannes Berg's avatar
      mac80211: allow releasing driver-buffered frames · 4049e09a
      Johannes Berg authored
      
      If there are frames for a station buffered in
      the driver, mac80211 announces those in the TIM
      IE but there's no way to release them. Add new
      API to release such frames and use it when the
      station polls for a frame.
      
      Since the API will soon also be used for uAPSD
      it is easily extensible.
      
      Note that before this change drivers announcing
      driver-buffered frames in the TIM bit actually
      will respond to a PS-Poll with a potentially
      lower priority frame (if there are any frames
      buffered in mac80211), after this patch a driver
      that hasn't been changed will no longer respond
      at all. This only affects ath9k, which will need
      to be fixed to implement the new API.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      4049e09a
  16. 27 Sep, 2011 2 commits
  17. 08 Aug, 2011 1 commit
  18. 20 Jul, 2011 1 commit
  19. 11 Jul, 2011 1 commit
  20. 06 Jul, 2011 1 commit
  21. 17 Jun, 2011 1 commit
  22. 11 May, 2011 1 commit
  23. 05 May, 2011 1 commit
  24. 28 Apr, 2011 1 commit
  25. 12 Apr, 2011 1 commit
    • Vivek Natarajan's avatar
      mac80211: Check for queued frames before entering power save. · e8306f98
      Vivek Natarajan authored
      
      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: default avatarVivek Natarajan <vnatarajan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      e8306f98
  26. 11 Mar, 2011 1 commit
  27. 25 Feb, 2011 2 commits
    • Johannes Berg's avatar
      mac80211: support direct offchannel TX offload · 5f16a436
      Johannes Berg authored
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5f16a436
    • Johannes Berg's avatar
      mac80211: make tx() operation return void · 7bb45683
      Johannes Berg authored
      
      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: default avatarJohannes 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: default avatarJohn W. Linville <linville@tuxdriver.com>
      7bb45683
  28. 19 Jan, 2011 1 commit
    • Johannes Berg's avatar
      mac80211: track receiver's aggregation reorder buffer size · 0b01f030
      Johannes Berg authored
      
      The aggregation code currently doesn't implement the
      buffer size negotiation. It will always request a max
      buffer size (which is fine, if a little pointless, as
      the mac80211 code doesn't know and might just use 0
      instead), but if the peer requests a smaller size it
      isn't possible to honour this request.
      
      In order to fix this, look at the buffer size in the
      addBA response frame, keep track of it and pass it to
      the driver in the ampdu_action callback when called
      with the IEEE80211_AMPDU_TX_OPERATIONAL action. That
      way the driver can limit the number of subframes in
      aggregates appropriately.
      
      Note that this doesn't fix any drivers apart from the
      addition of the new argument -- they all need to be
      updated separately to use this variable!
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      0b01f030
  29. 05 Jan, 2011 1 commit
  30. 13 Dec, 2010 1 commit
    • Tim Harvey's avatar
      mac80211 default tx_last_beacon false (congestion) · 91f44b02
      Tim Harvey authored
      
      The 802.11 spec states that the STA that generated the last Beacon frame shall
      be the STA that response to a probe request.  This is important for congestion
      reduction when a probe request is received - only 1 node in an adhoc BSS
      will transmit a response.  While mac80211 drivers should provide the
      tx_last_beacon function to report if they transmitted the last beacon many
      do not.  As an attempt to reduce probe response congestion default this
      to 0 such that a node not implementing this capability does not contribute
      to unnecessary congestion.
      
      In a modern medium sized office environment I see upwards of 100 probe
      requests per second received at a given node from various hardware/OS/drivers
      doing zeroconf 'active probing' as opposed to passively listening for beacons.
      With a modest 10-node adhoc network consisting of drivers that do not implement
      this tx_last_beacon feature, I have seen this result in the simultaneous xmit
      of probe responses accumulating to 500 probe responses per second because of
      collisions which brings the adhoc network to its knees as well as causes
      needless congestion.
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      91f44b02
  31. 16 Nov, 2010 2 commits
  32. 16 Sep, 2010 1 commit