1. 25 8月, 2011 2 次提交
  2. 10 8月, 2011 2 次提交
  3. 09 8月, 2011 1 次提交
  4. 30 6月, 2011 1 次提交
  5. 18 6月, 2011 2 次提交
  6. 07 6月, 2011 1 次提交
  7. 02 6月, 2011 4 次提交
  8. 20 5月, 2011 2 次提交
  9. 17 5月, 2011 1 次提交
  10. 11 5月, 2011 1 次提交
  11. 06 5月, 2011 1 次提交
  12. 26 4月, 2011 2 次提交
  13. 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
  14. 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
  15. 08 4月, 2011 3 次提交
  16. 05 4月, 2011 1 次提交
  17. 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
  18. 15 3月, 2011 1 次提交
  19. 01 3月, 2011 2 次提交
  20. 22 2月, 2011 1 次提交
  21. 16 2月, 2011 1 次提交
  22. 15 2月, 2011 1 次提交
  23. 10 2月, 2011 1 次提交
  24. 05 2月, 2011 2 次提交
    • F
      ath9k: add additional checks for the baseband hang detection · cb8d61de
      Felix Fietkau 提交于
      Since even with the latest changes the false positive issue of the baseband
      hang check is not fully solved yet, additional checks are needed.
      If the baseband hang occurs, the rx_clear signal will be stuck to high, so
      we can use the cycle counters to confirm it.
      With this patch, a hardware reset is only triggered if the baseband hang
      check returned true three times in a row, with a beacon interval between
      each check and if the busy time was also 99% or more during the check
      intervals.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      cb8d61de
    • M
      ath9k: Fix possible double free of PAPRD skb's · 9cf04dcc
      Mohammed Shafi Shajakhan 提交于
      This patch reverts the following commit
      ath9k: remove bfs_paprd_timestamp from struct ath_buf_state
      
      Under high interference/noisy environment conditions where PAPRD frames
      fails heavily introduces a possibility of double freeing skb's and causes
      kernel panic after some time.This patch reverts back to the original approach
      of using paprd_timestamp before freeing the PAPRD frame skb's
      
      [  194.193705] Pid: 0, comm: swapper Tainted: G      D WC
      2.6.35-22-generic #33-Ubuntu
      [  194.193712] Call Trace:
      [  194.193722]  [<c05c6468>] ? printk+0x2d/0x35
      [  194.193732]  [<c05c63c3>] panic+0x5a/0xd2
      [  194.193741]  [<c05ca3ed>] oops_end+0xcd/0xd0
      [  194.193750]  [<c0105f74>] die+0x54/0x80
      [  194.193758]  [<c05c9a16>] do_trap+0x96/0xc0
      [  194.193837]  [<c0103fb0>] ? do_invalid_op+0x0/0xa0
      [  194.193846]  [<c010403b>] do_invalid_op+0x8b/0xa0
      [  194.193856]  [<c020bd4c>] ? kfree+0xec/0xf0
      [  194.193866]  [<c012ce18>] ? default_spin_lock_flags+0x8/0x10
      [  194.193877]  [<c01de47a>] ? free_one_page+0x12a/0x2d0
      [  194.193888]  [<c01e04dc>] ? __free_pages+0x1c/0x40
      [  194.193897]  [<c05c97a7>] error_code+0x73/0x78
      [  194.193906]  [<c020bd4c>] ? kfree+0xec/0xf0
      [  194.193915]  [<c04ecdd0>] ? skb_release_data+0x70/0xa0
      [  194.193924]  [<c04ecdd0>] skb_release_data+0x70/0xa0
      [  194.193933]  [<c04ec997>] __kfree_skb+0x17/0x90
      [  194.193941]  [<c04eca31>] consume_skb+0x21/0x40
      [  194.193964]  [<f85e0b70>] ieee80211_tx_status+0x760/0x860 [mac80211]
      [  194.193979]  [<f85caddf>] ath_tx_complete_buf+0x1bf/0x2c0 [ath9k]
      [  194.193988]  [<c05c8b9f>] ? _raw_spin_lock_irqsave+0x2f/0x50
      [  194.193997]  [<c04ec40e>] ? skb_queue_tail+0x3e/0x50
      [  194.194010]  [<f85cc803>] ath_tx_complete_aggr+0x823/0x940 [ath9k]
      [  194.194021]  [<c0108a28>] ? sched_clock+0x8/0x10
      [  194.194030]  [<c016bf14>] ? sched_clock_local+0xa4/0x180
      [  194.194040]  [<c0139f57>] ? enqueue_sleeper+0x1e7/0x2b0
      [  194.194051]  [<c013a194>] ? enqueue_entity+0x174/0x200
      [  194.194064]  [<f85ce83d>] ath_tx_edma_tasklet+0x2bd/0x3b0 [ath9k]
      [  194.194074]  [<c05c8b9f>] ? _raw_spin_lock_irqsave+0x2f/0x50
      [  194.194088]  [<f85c7b9f>] ath9k_tasklet+0x9f/0x190 [ath9k]
      [  194.194097]  [<c01505d7>] tasklet_action+0xa7/0xb0
      [  194.194107]  [<c015127c>] __do_softirq+0x9c/0x1b0
      [  194.194117]  [<c01a7f64>] ? irq_to_desc+0x14/0x20
      [  194.194126]  [<c0124fc4>] ? ack_apic_level+0x64/0x1f0
      [  194.194136]  [<c01513d5>] do_softirq+0x45/0x50
      [  194.194145]  [<c0151545>] irq_exit+0x65/0x70
      [  194.194153]  [<c05cf665>] do_IRQ+0x55/0xc0
      [  194.194162]  [<c016a6c7>] ? hrtimer_start+0x27/0x30
      [  194.194171]  [<c0103630>] common_interrupt+0x30/0x38
      [  194.194181]  [<c012c21a>] ? native_safe_halt+0xa/0x10
      [  194.194268]  [<c010a2f9>] default_idle+0x49/0xb0
      [  194.194277]  [<c0101fcc>] cpu_idle+0x8c/0xd0
      [  194.194286]  [<c05b2431>] rest_init+0x71/0x80
      [  194.194295]  [<c081981a>] start_kernel+0x36e/0x374
      [  194.194305]  [<c08199dd>] ? pass_all_bootoptions+0x0/0xa
      [  194.194314]  [<c08190d7>] i386_start_kernel+0xd7/0xdf
      [  194.194364] panic occurred, switching back to text console
      Signed-off-by: NMohammed Shafi Shajakhan <mshajakhan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9cf04dcc
  25. 29 1月, 2011 2 次提交