1. 01 10月, 2011 1 次提交
    • J
      mac80211: let drivers inform it about per TID buffered frames · 042ec453
      Johannes Berg 提交于
      For uAPSD implementation, it is necessary to know on
      which ACs frames are buffered. mac80211 obviously
      knows about the frames it has buffered itself, but
      with aggregation many drivers buffer frames. Thus,
      mac80211 needs to be informed about this.
      
      For now, since we don't have APSD in any form, this
      will unconditionally set the TIM bit for the station
      but later with uAPSD only some ACs might cause the
      TIM bit to be set.
      
      ath9k is the only driver using this API and I only
      modify it in the most basic way, it won't be able
      to implement uAPSD with this yet. But it can't do
      that anyway since there's no way to selectively
      release frames to the peer yet.
      
      Since drivers will buffer frames per TID, let them
      inform mac80211 on a per TID basis, mac80211 will
      then sort out the AC mapping itself.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      042ec453
  2. 17 9月, 2011 4 次提交
  3. 15 9月, 2011 2 次提交
  4. 31 8月, 2011 3 次提交
  5. 25 8月, 2011 2 次提交
  6. 10 8月, 2011 2 次提交
  7. 09 8月, 2011 1 次提交
  8. 30 6月, 2011 1 次提交
  9. 18 6月, 2011 2 次提交
  10. 07 6月, 2011 1 次提交
  11. 02 6月, 2011 4 次提交
  12. 20 5月, 2011 2 次提交
  13. 17 5月, 2011 1 次提交
  14. 11 5月, 2011 1 次提交
  15. 06 5月, 2011 1 次提交
  16. 26 4月, 2011 2 次提交
  17. 20 4月, 2011 2 次提交
    • F
      ath9k: assign keycache slots to unencrypted stations · 93ae2dd2
      Felix Fietkau 提交于
      Frame filtering relies on having a valid destination index (keycache slot),
      to keep track of the destination. Assigning a keycache slot (configured
      to unencrypted, with no key data attached) improves powersave handling in
      AP mode with no encryption.
      The dummy keycache entry for a station is cleared, when a real key gets
      added.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      93ae2dd2
    • F
      ath9k: fix powersave frame filtering/buffering in AP mode · 5519541d
      Felix Fietkau 提交于
      This patch fixes a long standing issue of pending packets in the queue being
      sent (and retransmitted many times) to sleeping stations.
      This was made worse by aggregation through driver-internal retransmitting
      of A-MDPU subframes.
      Previously the hardware tx filter was cleared unconditionally for every
      single packet - with this patch it uses the IEEE80211_TX_CTL_CLEAR_PS_FILT
      for unaggregated frames.
      A sta_notify driver op is added to stop aggregation for stations when they
      enter powersave mode. Subframes stay buffered inside the driver, to ensure
      that the BlockAck window keeps a sane state.
      Since the driver uses software aggregation, the clearing of the tx filter
      needs to be handled by the driver instead of mac80211 for aggregated frames.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5519541d
  18. 14 4月, 2011 1 次提交
    • G
      ath9k: introduce ATH9K_{PCI,AHB} config options · 8e26a030
      Gabor Juhos 提交于
      Currently ath9k only available in menuconfig if PCI bus
      support is enabled. However the driver is required for
      the built-in wireless MACs of the Atheros AR9130/AR9132
      SoCs. These SoCs have no PCI controller, the wireless
      MAC is connected to the AHB bus on them.
      
      Introduce separated config options for the supported
      buses, in order to allow building of ath9h without PCI
      bus support.
      
      As a bonus, this patch removes the cross-reference of
      the ATHEROS_AR71XX option which is not present in the
      kernel.
      
      Cc: Luis R. Rodriguez <lrodriguez@atheros.com>
      Cc: Vasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8e26a030
  19. 08 4月, 2011 3 次提交
  20. 05 4月, 2011 1 次提交
  21. 31 3月, 2011 2 次提交
    • F
      ath9k: fix stuck beacon detection · c944daf4
      Felix Fietkau 提交于
      Stuck beacon detection is supposed to trigger when 9 consecutive beacons
      could not be sent by the hardware. When the driver runs only one active
      AP mode interface, it still configures the hardware beacon timer for
      4 (ATH_BCBUF) beacon slots slots, which causes stuck beacon detection
      to be reset if ath9k_hw_stoptxdma clears the stuck frames between
      SWBA intervals.
      Fix this by not resetting the missed beacon count for empty slots and
      multiplying the threshold not by the maximum number of beacon slots
      but by the configured number of beacon interfaces.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c944daf4
    • F
      ath9k: fix beacon timer handling issues · dd347f2f
      Felix Fietkau 提交于
      AP mode beacon timers in ath9k are configured in milliseconds, which breaks
      when increasing ATH_BCBUF to 8 instead of 4 (due to rounding errors).
      Since the hardware timers are actually configured in microseconds, it's
      better to let the driver use that unit directly.
      
      To be able to do that, the beacon interval parameter abuse for passing
      certain flags needs to be removed. This is easy to do, because those flags
      are completely unnecessary anyway. ATH9K_BEACON_ENA is ignored,
      ATH9K_BEACON_RESET_TSF can be replaced with calling ath9k_hw_reset_tsf
      from the driver directly.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      dd347f2f
  22. 15 3月, 2011 1 次提交