1. 29 9月, 2014 1 次提交
  2. 23 9月, 2014 2 次提交
    • M
      ath10k: deduplicate wmi service ready logic · 5c01aa3d
      Michal Kazior 提交于
      The logic responsible for processing the event is
      no different across different firmware binaries.
      The difference that needs to be dealt with is the
      ABI of data structures.
      
      The intermediate structure uses __le32 to avoid
      extra memory allocations to byteswap
      variable-length substructures (i.e. host mem
      chunks).
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      5c01aa3d
    • M
      ath10k: workaround fw beaconing bug · 64badcb6
      Michal Kazior 提交于
      Some firmware revisions don't wait for beacon tx
      completion before sending another SWBA event. This
      could lead to hardware using old (freed) beacon
      data in some cases, e.g. tx credit starvation
      combined with missed TBTT. This is very very rare.
      
      On non-IOMMU-enabled hosts this could be a
      possible security issue because hw could beacon
      some random data on the air.  On IOMMU-enabled
      hosts DMAR faults would occur in most cases and
      target device would crash.
      
      Since there are no beacon tx completions (implicit
      nor explicit) propagated to host the only
      workaround for this is to allocate a DMA-coherent
      buffer for a lifetime of a vif and use it for all
      beacon tx commands. Worst case for this approach
      is some beacons may become corrupted, e.g. garbled
      IEs or out-of-date TIM bitmap.
      
      Keep the original beacon-related code as-is in
      case future firmware revisions solve this problem
      so that the old path can be easily re-enabled with
      a fw_feature flag.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      64badcb6
  3. 12 9月, 2014 1 次提交
    • K
      ath10k: add testmode · 43d2a30f
      Kalle Valo 提交于
      Add testmode interface for starting and using UTF firmware which is used to run
      factory tests. This is implemented by adding new state ATH10K_STATE_UTF and user
      space can enable this state with ATH10K_TM_CMD_UTF_START command. To go back to
      normal mode user space can send ATH10K_TM_CMD_UTF_STOP.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      43d2a30f
  4. 10 9月, 2014 1 次提交
  5. 02 9月, 2014 1 次提交
  6. 25 8月, 2014 2 次提交
  7. 12 8月, 2014 3 次提交
  8. 04 8月, 2014 1 次提交
    • S
      ath10k: add spectral scan feature · 855aed12
      Simon Wunderlich 提交于
      Adds the spectral scan feature for ath10k. The spectral scan is triggered by
      configuring a mode through a debugfs control file. Samples can be gathered via
      another relay debugfs file.
      
      Essentially, to try it out:
      
      ip link set dev wlan0 up
      echo background > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
      echo trigger > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
      iw dev wlan0 scan
      echo disable > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
      cat /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan0 > samples
      
      This feature is still experimental. Based on the original RFC patch of
      Sven Eckelmann.
      Signed-off-by: NSimon Wunderlich <sw@simonwunderlich.de>
      Signed-off-by: NMathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      855aed12
  9. 29 7月, 2014 1 次提交
  10. 14 7月, 2014 1 次提交
  11. 26 5月, 2014 1 次提交
    • M
      ath10k: make core registering async · 6782cb69
      Michal Kazior 提交于
      If ath10k was built into the kernel it could stall
      booting for 120 seconds by default (60 seconds for
      each firmware API variant) waiting for firmware
      files before userspace was ready or filesystems
      mounted.
      
      Fix this by making the core registering
      asynchronous.
      
      This also shoves off about 1 second from boot time
      on most systems since the driver is now mostly
      initialized in a worker and modprobe takes very
      little time to complete.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      6782cb69
  12. 23 5月, 2014 1 次提交
  13. 11 4月, 2014 1 次提交
    • M
      ath10k: refactor radar detection code · d650097b
      Michal Kazior 提交于
      If 20MHz CAC completed successfully then
      subsequent CAC with wider bandwidth (40Mhz, 80Mhz)
      with identical control frequency did not start
      monitor vdev making it impossible to detect any
      radar pulses during intended CAC.
      
      It also was incorrect to assume ath10k_config() will
      be called after CAC is finished. Theoretically for
      non-HT channels nothing changes between CAC and
      start_ap() (albeit in practice this can be
      different). The incorrect assumption led to CAC
      not being stopped on non-HT chandefs leading to
      all Rx being drooped making it impossible for
      clients to associate.
      
      While at it clean up the code a bit.
      
      kvalo: separate WARN_ON() from the if statement
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d650097b
  14. 08 4月, 2014 1 次提交
    • M
      ath10k: refactor monitor code · 1bbc0975
      Michal Kazior 提交于
      It was possible to create/delete/start/stop
      monitor vdev from a few places that were not
      exclusively protected against each other. This
      resulted in monitor vdev being stopped/removed by
      one call origin while another one was expecting it
      to continue running.
      
      For example if CAC was started and interface's
      promiscuous mode was toggled monitor vdev was
      removed from the driver meaning no radar would be
      detected. In additional a warning would be printed
      upon CAC completion complaining it tried to stop
      non-running monitor vdev.
      
      The patch simplifies monitor code by removing
      IEEE80211_HW_WANT_MONITOR_VIF (which wasn't really
      ever needed) and improves state tracking. It also
      unifies prints.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      1bbc0975
  15. 28 3月, 2014 2 次提交
  16. 13 3月, 2014 1 次提交
  17. 28 2月, 2014 4 次提交
  18. 15 2月, 2014 1 次提交
  19. 13 2月, 2014 2 次提交
  20. 24 1月, 2014 2 次提交
  21. 23 1月, 2014 1 次提交
    • K
      ath10k: enable firmware STA quick kickout · 5a13e76e
      Kalle Valo 提交于
      Firmware has a feature to track if the associated STA is not acking the frames.
      When that happens, the firmware sends WMI_PEER_STA_KICKOUT_EVENTID event to the
      host. Enable that to faster detect when a STA has left BSS without sending a
      deauth frame.
      
      Also set huge keepalive timeouts to avoid using the keepalive functionality in
      the firmware.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      5a13e76e
  22. 10 1月, 2014 3 次提交
  23. 16 12月, 2013 1 次提交
  24. 20 11月, 2013 4 次提交
  25. 15 11月, 2013 1 次提交