1. 25 5月, 2013 1 次提交
  2. 11 4月, 2013 1 次提交
    • F
      ath9k: detect more kinds of invalid descriptors · 3747c3ee
      Felix Fietkau 提交于
      If AR_CRCErr, AR_PHYErr, AR_DecryptCRCErr or AR_MichaelErr is indicated
      in the rx status word, but AR_RxFrameOK is also set, the descriptor
      contents are typically invalid. This can show up as a warning about
      invalid MCS rates in a frame. Even with those checks in place, a
      descriptor with invalid MCS rates can still sometimes make it through to
      the driver (mostly on older hardware like AR91xx).
      
      Detect such errors in the last descriptor of a frame and discard the
      whole frame if present.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3747c3ee
  3. 31 1月, 2013 1 次提交
  4. 11 8月, 2012 1 次提交
    • F
      ath9k: fix interrupt storms on queued hardware reset · f41a9b3b
      Felix Fietkau 提交于
      commit b74713d0
      "ath9k: Handle fatal interrupts properly" introduced a race condition, where
      IRQs are being left enabled, however the irq handler returns IRQ_HANDLED
      while the reset is still queued without addressing the IRQ cause.
      This leads to an IRQ storm that prevents the system from even getting to
      the reset code.
      
      Fix this by disabling IRQs in the handler without touching intr_ref_cnt.
      
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Cc: Sujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f41a9b3b
  5. 10 7月, 2012 1 次提交
  6. 24 4月, 2012 1 次提交
  7. 16 3月, 2012 3 次提交
  8. 06 3月, 2012 1 次提交
  9. 17 1月, 2012 1 次提交
  10. 20 12月, 2011 1 次提交
  11. 01 12月, 2011 2 次提交
  12. 01 11月, 2011 1 次提交
  13. 12 10月, 2011 2 次提交
  14. 20 9月, 2011 1 次提交
  15. 17 9月, 2011 1 次提交
  16. 25 8月, 2011 2 次提交
  17. 10 8月, 2011 2 次提交
  18. 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
  19. 20 5月, 2011 1 次提交
  20. 11 5月, 2011 1 次提交
  21. 29 4月, 2011 1 次提交
  22. 26 4月, 2011 1 次提交
  23. 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
  24. 05 4月, 2011 1 次提交
  25. 31 3月, 2011 2 次提交
  26. 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
  27. 26 2月, 2011 1 次提交
  28. 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
  29. 22 1月, 2011 1 次提交
  30. 20 1月, 2011 1 次提交
  31. 05 1月, 2011 1 次提交
  32. 08 12月, 2010 1 次提交