1. 17 1月, 2012 1 次提交
  2. 20 12月, 2011 1 次提交
  3. 01 12月, 2011 2 次提交
  4. 01 11月, 2011 1 次提交
  5. 12 10月, 2011 2 次提交
  6. 20 9月, 2011 1 次提交
  7. 17 9月, 2011 1 次提交
  8. 25 8月, 2011 2 次提交
  9. 10 8月, 2011 2 次提交
  10. 14 7月, 2011 1 次提交
    • S
      ath9k_hw: Fix incorrect key_miss handling · 0472ade0
      Senthil Balasubramanian 提交于
      Decryping frames on key_miss handling shouldn't be done for Michael
      MIC failed frames as h/w would have already decrypted such frames
      successfully anyway.
      
      Also leaving CRC and PHY error(where the frame is going to be dropped
      anyway), we are left to prcoess Decrypt error for which s/w decrypt is
      selected anway and so having key_miss as a separate check doesn't serve
      anything. So making key_miss handling mutually exlusive with other RX
      status handling makes much more sense.
      
      This patch addresses an issue with STA not reporting MIC failure events
      resulting in STA being disconnected immediately.
      
      Cc: stable@kernel.org
      Signed-off-by: NSenthil Balasubramanian <senthilb@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0472ade0
  11. 20 5月, 2011 1 次提交
  12. 11 5月, 2011 1 次提交
  13. 29 4月, 2011 1 次提交
  14. 26 4月, 2011 1 次提交
  15. 13 4月, 2011 1 次提交
    • F
      ath9k_hw: fix stopping rx DMA during resets · 5882da02
      Felix Fietkau 提交于
      During PHY errors, the MAC can sometimes fail to enter an idle state on older
      hardware (before AR9380) after an rx stop has been requested.
      
      This typically shows up in the kernel log with messages like these:
      
      ath: Could not stop RX, we could be confusing the DMA engine when we start RX up
      ------------[ cut here ]------------
      WARNING: at drivers/net/wireless/ath/ath9k/recv.c:504 ath_stoprecv+0xcc/0xf0 [ath9k]()
      Call Trace:
      [<8023f0e8>] dump_stack+0x8/0x34
      [<80075050>] warn_slowpath_common+0x78/0xa4
      [<80075094>] warn_slowpath_null+0x18/0x24
      [<80d66d60>] ath_stoprecv+0xcc/0xf0 [ath9k]
      [<80d642cc>] ath_set_channel+0xbc/0x270 [ath9k]
      [<80d65254>] ath_radio_disable+0x4a4/0x7fc [ath9k]
      
      When this happens, the state that the MAC enters is easy to identify and
      does not result in bogus DMA traffic, however to ensure a working state
      after a channel change, the hardware should still be reset.
      
      This patch adds detection for this specific MAC state, after which the above
      warnings completely disappear in my tests.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Cc: stable@kernel.org
      Cc: Kyungwan Nam <Kyungwan.Nam@Atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5882da02
  16. 05 4月, 2011 1 次提交
  17. 31 3月, 2011 2 次提交
  18. 15 3月, 2011 2 次提交
    • F
      ath9k: improve reliability of beacon transmission and stuck beacon handling · efff395e
      Felix Fietkau 提交于
      ath9k calls ath9k_hw_stoptxdma every time it sends a beacon, however there
      is not much point in doing that if the previous beacon and mcast traffic
      went out properly. On AR9380, calling that function too often can result
      in an increase of stuck beacons due to differences in the handling of the
      queue enable/disable functionality.
      
      With this patch, the queue will only be explicitly stopped if the previous
      data frames were not sent successfully. With the beacon code being the
      only remaining user of ath9k_hw_stoptxdma, this function can be simplified
      in order to remove the now pointless attempts at waiting for transmission
      completion, which would never happen at this point due to the different
      method of tx scheduling of the beacon queue.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      efff395e
    • F
      ath9k: fix stopping tx dma on reset · 0d51cccc
      Felix Fietkau 提交于
      In some situations, stopping Tx DMA frequently fails, leading to messages
      like this:
      
      ath: Failed to stop TX DMA in 100 msec after killing last frame
      ath: Failed to stop TX DMA!
      
      This patch uses a few MAC features to abort DMA globally instead of iterating
      over all hardware queues and attempting to stop them individually.
      Not only is that faster and works with a shorter timeout, it also makes the
      process much more reliable.
      
      With this change, I can no longer trigger these messages on AR9380,
      and on AR9280 they become much more rare.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0d51cccc
  19. 26 2月, 2011 1 次提交
  20. 28 1月, 2011 1 次提交
    • F
      ath9k: fix misplaced debug code · 8d8d3fdc
      Felix Fietkau 提交于
      The commit 'ath9k: Add more information to debugfs xmit file.' added more
      debug counters to ath9k and also added some lines of code to ath9k_hw.
      
      Since ath9k_hw is also used by ath9k_htc, its code must not depend on ath9k
      data structures. In this case it was not fatal, but it's still wrong, so
      the code needs to be moved back to ath9k.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Cc: Ben Greear <greearb@candelatech.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8d8d3fdc
  21. 22 1月, 2011 1 次提交
  22. 20 1月, 2011 1 次提交
  23. 05 1月, 2011 1 次提交
  24. 08 12月, 2010 3 次提交
  25. 03 12月, 2010 1 次提交
  26. 01 12月, 2010 1 次提交
  27. 25 11月, 2010 1 次提交
  28. 10 11月, 2010 1 次提交
    • F
      ath9k_hw: optimize interrupt mask changes · 4df3071e
      Felix Fietkau 提交于
      OProfile showed that ath9k was spending way too much time in
      ath9k_hw_set_interrupts. Since most of the interrupt mask changes only
      need to globally enable/disable interrupts, it makes sense to split
      this part into separate functions, replacing all calls to
      ath9k_hw_set_interrupts(ah, 0) with ath9k_hw_disable_interrupts(ah).
      
      ath9k_hw_set_interrupts(ah, ah->imask) only gets changed to
      ath9k_hw_enable_interrupts(ah), whenever ah->imask was not changed
      since the point where interrupts were disabled.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4df3071e
  29. 08 10月, 2010 1 次提交
  30. 07 10月, 2010 1 次提交
  31. 15 9月, 2010 1 次提交
  32. 01 9月, 2010 1 次提交