1. 08 12月, 2015 1 次提交
  2. 06 8月, 2015 2 次提交
  3. 21 7月, 2015 2 次提交
    • M
      ath9k: fix moredata flag endianness in cabq tx · 92cd4032
      Michal Kazior 提交于
      While compiling ath9k with some extra flags I've
      found that:
      
       ath9k/xmit.c +2473 ## 16: warning: restricted __le16 degrades to integer
       ath9k/xmit.c +2474 ## 36: warning: invalid assignment: &=
       ath9k/xmit.c +2474 ## 36:    left side has type restricted __le16
       ath9k/xmit.c +2474 ## 36:    right side has type int
      
      There's no way for frame ftype/stype to be
      mistreated as the offending 'moredata' flag when
      considering cab queue.
      
      This could've however theoretically led sometimes
      to increased power consumption on connected
      stations as they would keep their Rx active
      waiting for frames that would never come.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      92cd4032
    • F
      ath9k: make DMA stop related messages debug-only · e60ac9c7
      Felix Fietkau 提交于
      A long time ago, ath9k had issues during reset where the DMA engine
      would stay active and could potentially corrupt memory.
      To debug those issues, the driver would print warnings whenever they
      occur.
      
      Nowadays, these issues are gone and the primary cause of these messages
      is if the MAC is stuck during reset or busy processing a long
      transmission. This is fairly harmless, yet these messages continue to
      worry users.
      
      To reduce the number of bogus bug reports, turn these messages into
      debug messages and count their occurence in the "reset" debugfs file.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      e60ac9c7
  4. 04 5月, 2015 1 次提交
  5. 03 3月, 2015 1 次提交
  6. 24 1月, 2015 1 次提交
  7. 15 1月, 2015 1 次提交
  8. 25 12月, 2014 1 次提交
  9. 12 12月, 2014 1 次提交
  10. 26 11月, 2014 1 次提交
  11. 24 10月, 2014 1 次提交
  12. 09 10月, 2014 1 次提交
  13. 01 10月, 2014 2 次提交
  14. 27 9月, 2014 3 次提交
  15. 17 9月, 2014 1 次提交
  16. 29 8月, 2014 1 次提交
  17. 24 7月, 2014 1 次提交
  18. 19 7月, 2014 1 次提交
    • F
      ath9k: fix pending tx frames accounting · d954cd77
      Felix Fietkau 提交于
      Packets originally buffered for the regular hardware tx queues can end
      up being transmitted through the U-APSD queue (via PS-Poll or U-APSD).
      When packets are dropped due to retransmit failures, the pending frames
      counter is not always updated properly.
      Fix this by keeping track of the queue that a frame was accounted for in
      the ath_frame_info struct, and using that on completion to decide
      whether the counter should be updated.
      This fixes some spurious transmit queue hangs.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d954cd77
  19. 20 6月, 2014 7 次提交
  20. 30 4月, 2014 1 次提交
    • F
      ath9k: remove tid->paused flag · 62e54dbb
      Felix Fietkau 提交于
      There are some corner cases where the driver could get stuck with a full
      tid queue that is paused, leading to a software tx queue hang.
      
      Since the tx queueing rework, pausing per-tid queues on aggregation
      session setup is no longer necessary. The driver will assign sequence
      numbers to buffered frames when a new session is established, in order
      to get the correct starting sequence number.
      
      mac80211 prevents new frames from entering the queue during setup.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      62e54dbb
  21. 18 3月, 2014 1 次提交
  22. 15 3月, 2014 1 次提交
  23. 14 3月, 2014 1 次提交
  24. 04 3月, 2014 1 次提交
  25. 01 3月, 2014 1 次提交
  26. 25 2月, 2014 1 次提交
  27. 21 2月, 2014 1 次提交
    • S
      ath9k: protect tid->sched check · 21f8aaee
      Stanislaw Gruszka 提交于
      We check tid->sched without a lock taken on ath_tx_aggr_sleep(). That
      is race condition which can result of doing list_del(&tid->list) twice
      (second time with poisoned list node) and cause crash like shown below:
      
      [424271.637220] BUG: unable to handle kernel paging request at 00100104
      [424271.637328] IP: [<f90fc072>] ath_tx_aggr_sleep+0x62/0xe0 [ath9k]
      ...
      [424271.639953] Call Trace:
      [424271.639998]  [<f90f6900>] ? ath9k_get_survey+0x110/0x110 [ath9k]
      [424271.640083]  [<f90f6942>] ath9k_sta_notify+0x42/0x50 [ath9k]
      [424271.640177]  [<f809cfef>] sta_ps_start+0x8f/0x1c0 [mac80211]
      [424271.640258]  [<c10f730e>] ? free_compound_page+0x2e/0x40
      [424271.640346]  [<f809e915>] ieee80211_rx_handlers+0x9d5/0x2340 [mac80211]
      [424271.640437]  [<c112f048>] ? kmem_cache_free+0x1d8/0x1f0
      [424271.640510]  [<c1345a84>] ? kfree_skbmem+0x34/0x90
      [424271.640578]  [<c10fc23c>] ? put_page+0x2c/0x40
      [424271.640640]  [<c1345a84>] ? kfree_skbmem+0x34/0x90
      [424271.640706]  [<c1345a84>] ? kfree_skbmem+0x34/0x90
      [424271.640787]  [<f809dde3>] ? ieee80211_rx_handlers_result+0x73/0x1d0 [mac80211]
      [424271.640897]  [<f80a07a0>] ieee80211_prepare_and_rx_handle+0x520/0xad0 [mac80211]
      [424271.641009]  [<f809e22d>] ? ieee80211_rx_handlers+0x2ed/0x2340 [mac80211]
      [424271.641104]  [<c13846ce>] ? ip_output+0x7e/0xd0
      [424271.641182]  [<f80a1057>] ieee80211_rx+0x307/0x7c0 [mac80211]
      [424271.641266]  [<f90fa6ee>] ath_rx_tasklet+0x88e/0xf70 [ath9k]
      [424271.641358]  [<f80a0f2c>] ? ieee80211_rx+0x1dc/0x7c0 [mac80211]
      [424271.641445]  [<f90f82db>] ath9k_tasklet+0xcb/0x130 [ath9k]
      
      Bug report:
      https://bugzilla.kernel.org/show_bug.cgi?id=70551Reported-and-tested-by: NMax Sydorenko <maxim.stargazer@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      21f8aaee
  28. 13 2月, 2014 1 次提交
  29. 14 1月, 2014 1 次提交