1. 06 3月, 2012 2 次提交
  2. 05 1月, 2012 1 次提交
  3. 20 12月, 2011 1 次提交
  4. 12 10月, 2011 1 次提交
  5. 17 9月, 2011 3 次提交
  6. 15 9月, 2011 2 次提交
  7. 10 8月, 2011 2 次提交
  8. 28 6月, 2011 2 次提交
    • R
      ath9k: Fix locking issue during tx completion · f6b4e4d4
      Rajkumar Manoharan 提交于
      The received tx status of aggregated frame without BlockAck may
      cause deaf state in AR5416 cards. So the driver does a reset to
      recover. When this happens, we release the pcu_lock before doing
      a reset as ath_rest acquires pcu_lock. This is ugly and also not
      atomic. Fixing this addresses the TX DMA failure also.
      
      ath_tx_complete_aggr can be called from different paths which
      takes different variants of spin_lock. This patch also addresses
      the following warning.
      
      WARNING: at kernel/timer.c:1011 del_timer_sync+0x4e/0x50()
      Call Trace:
       <IRQ>  [<ffffffff8104be3a>] warn_slowpath_common+0x7a/0xb0
       [<ffffffff8104be85>] warn_slowpath_null+0x15/0x20
       [<ffffffff8105915e>] del_timer_sync+0x4e/0x50
       [<ffffffffa03726be>] ath_reset+0x3e/0x210 [ath9k]
       [<ffffffff8135cdaf>] ? _raw_spin_unlock_bh+0x1f/0x30
       [<ffffffffa037760a>] ath_tx_complete_aggr.isra.26+0x54a/0xa40 [ath9k]
      Signed-off-by: NRajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f6b4e4d4
    • R
      ath9k_hw: Fix false tx hung detection in AR9003 chips · dcfcbd59
      Rajkumar Manoharan 提交于
      The edma based (AR9003 family) chips update tx status
      descriptors in a common ring buffer for all transmitted
      frames. Whenever tx interrupt is raised, the descriptors
      are processed and tx status index is moved.
      
      The complete tx stauts ring are updated with beacons tx status
      when there are no data frames to be sent for a period of time.
      In this state, transmitting data frames causes the driver to
      wait for the tx status on an incorrect tx status index though
      the status was updated by hw properly. The driver detects this
      condition as a h/w hang and does unnecessary chip resets.
      
      This issue was orginally reported in adhoc mode while sending
      frames after an idle time.
      Signed-off-by: NRajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      dcfcbd59
  9. 22 6月, 2011 1 次提交
    • A
      net: remove mm.h inclusion from netdevice.h · b7f080cf
      Alexey Dobriyan 提交于
      Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually).
      
      To prevent mm.h inclusion via other channels also extract "enum dma_data_direction"
      definition into separate header. This tiny piece is what gluing netdevice.h with mm.h
      via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h".
      Removal of mm.h from scatterlist.h was tried and was found not feasible
      on most archs, so the link was cutoff earlier.
      
      Hope people are OK with tiny include file.
      
      Note, that mm_types.h is still dragged in, but it is a separate story.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b7f080cf
  10. 02 6月, 2011 2 次提交
  11. 20 5月, 2011 4 次提交
  12. 11 5月, 2011 1 次提交
  13. 27 4月, 2011 1 次提交
  14. 20 4月, 2011 1 次提交
    • R
      ath9k: Fix beacon generation on foreign channel · 8e22ad32
      Rajkumar Manoharan 提交于
      While leaving the oper channel, beacon generation is stopped
      by mac80211 and beacon slots are marked as inactive.
      During the scan, ath9k configures beacon timers
      based on IEEE80211_CONF_OFFCHANNEL which inturn generates
      beacon alert even though bslot is inactive.
      
      ath9k fails to disable beacon alert while moving to offchannel
      if none of the beacon slot is active. This is causing beacon
      transmission on foreign channel. This patch enables swba
      based on active bslots.
      
      This issue was reported with two vifs (AP+STA) and triggered
      scan in STA vif in unassociated state.
      Signed-off-by: NRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8e22ad32
  15. 15 4月, 2011 1 次提交
  16. 13 4月, 2011 1 次提交
  17. 08 4月, 2011 4 次提交
  18. 31 3月, 2011 3 次提交
    • 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: trigger nfcal only after multiple missed beacons in AP mode · 87c510fe
      Felix Fietkau 提交于
      Single missed (i.e. not transmitted) beacons in AP mode are not very rare
      and not necessarily an indicator of strong interference, so only trigger
      noise floor recalibration when multiple consecutive beacons could not
      be transmitted.
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      87c510fe
    • 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
  19. 15 3月, 2011 1 次提交
    • 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
  20. 15 2月, 2011 1 次提交
  21. 10 2月, 2011 1 次提交
  22. 08 2月, 2011 1 次提交
  23. 29 1月, 2011 2 次提交
  24. 22 1月, 2011 1 次提交