1. 08 7月, 2016 4 次提交
  2. 30 6月, 2016 2 次提交
    • M
      ath10k: disable TX_STBC for tx chainmask of 1 · 34663241
      Mohammed Shafi Shajakhan 提交于
      Disable TX_STBC for both HT and VHT if the devices tx chainmask is '1'
      TX_STBC is required only for devices with tx_chainmask > 1. This fixes
      a ping failure for QCA9887 (1x1) in HT/VHT mode
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      34663241
    • B
      ath10k: fix potential null dereference bugs · a66cd733
      Bob Copeland 提交于
      Smatch warns about a number of cases in ath10k where a pointer is
      null-checked after it has already been dereferenced, in code involving
      ath10k private virtual interface pointers.
      
      Fix these by making the dereference happen later.
      
      Addresses the following smatch warnings:
      
      drivers/net/wireless/ath/ath10k/mac.c:3651 ath10k_mac_txq_init() warn: variable dereferenced before check 'txq' (see line 3649)
      drivers/net/wireless/ath/ath10k/mac.c:3664 ath10k_mac_txq_unref() warn: variable dereferenced before check 'txq' (see line 3659)
      drivers/net/wireless/ath/ath10k/htt_tx.c:70 __ath10k_htt_tx_txq_recalc() warn: variable dereferenced before check 'txq->sta' (see line 52)
      drivers/net/wireless/ath/ath10k/htt_tx.c:740 ath10k_htt_tx_get_vdev_id() warn: variable dereferenced before check 'cb->vif' (see line 736)
      drivers/net/wireless/ath/ath10k/txrx.c:86 ath10k_txrx_tx_unref() warn: variable dereferenced before check 'txq' (see line 84)
      drivers/net/wireless/ath/ath10k/wmi.c:1837 ath10k_wmi_op_gen_mgmt_tx() warn: variable dereferenced before check 'cb->vif' (see line 1825)
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      a66cd733
  3. 14 6月, 2016 1 次提交
    • M
      ath10k: fix CCK h/w rates for QCA99X0 and newer chipsets · 5269c659
      Mohammed Shafi Shajakhan 提交于
      CCK hardware table mapping from QCA99X0 onwards got revised.
      The CCK hardware rate values are in a proper order wrt. to
      rate and preamble as below
      
      ATH10K_HW_RATE_REV2_CCK_LP_1M = 1,
      ATH10K_HW_RATE_REV2_CCK_LP_2M = 2,
      ATH10K_HW_RATE_REV2_CCK_LP_5_5M = 3,
      ATH10K_HW_RATE_REV2_CCK_LP_11M = 4,
      ATH10K_HW_RATE_REV2_CCK_SP_2M = 5,
      ATH10K_HW_RATE_REV2_CCK_SP_5_5M = 6,
      ATH10K_HW_RATE_REV2_CCK_SP_11M = 7,
      
      This results in reporting of rx frames (with CCK rates)
      totally wrong for QCA99X0, QCA4019. Fix this by having
      separate CCK rate table for these chipsets with rev2 suffix
      and registering the correct rate mapping to mac80211 based on
      the new hw_param (introduced) 'cck_rate_map_rev2' which shall
      be true for any newchipsets from QCA99X0 onwards
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      5269c659
  4. 02 6月, 2016 1 次提交
  5. 25 5月, 2016 1 次提交
  6. 06 5月, 2016 2 次提交
    • R
      ath10k: update bss channel survey information · fa7937e3
      Rajkumar Manoharan 提交于
      During hw scan, firmware sends two channel information events (pre-
      complete, complete) to host for each channel change. The snap shot of cycle
      counters (rx_clear and total) between these two events are given for
      survey dump. In order to get latest survey statistics of all channels, a
      scan request has to be issued. In general, an AP DUT is brought up, it
      won't leave BSS channel except few cases like overlapping bss or radar
      detection. So survey statistics of bss channel is always referring to
      older data that are collected before starting AP (either ACS/OBSS scan).
      
      To collect latest survey information from target, firmware provides WMI
      interface to read cycle counters from hardware. For each survey dump
      request, BSS channel cycle counters are read and cleared in hardware.
      This makes sure that behavior is in align with ath9k survey report.
      So survey dump always gives snap shot of cycle counters b/w two survey
      requests.
      Signed-off-by: NYanbo Li <yanbol@qca.qualcomm.com>
      Signed-off-by: NRajkumar Manoharan <rmanohar@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      fa7937e3
    • J
      ath10k: remove VHT capabilities from 2.4GHz · 94ee3f19
      Johannes Berg 提交于
      According to the spec, VHT doesn't exist in 2.4GHz.
      
      There are vendor extensions to allow a subset of VHT to work
      (notably 256-QAM), but since mac80211 doesn't support those
      advertising VHT capability on 2.4GHz leads to the behaviour
      of reporting VHT capabilities but not being able to use any
      of them due to mac80211's code requiring 80 MHz support.
      
      Remove the VHT capabilities from 2.4GHz for now. If mac80211
      gets extended to use the (likely Broadcom) vendor IEs for it
      and handles the lack of 80 MHz support, it can be added back.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      94ee3f19
  7. 26 4月, 2016 1 次提交
  8. 21 4月, 2016 4 次提交
  9. 19 4月, 2016 2 次提交
    • R
      ath10k: add dynamic tx mode switch config support for qca4019 · 7e247a9e
      Raja Mani 提交于
      push-pull mode needs certain amount the host driver involvement for
      managing queues in the host memory and packet delivery to firmware.
      qca4019 wifi firmware has an option to stay in push mode for less
      number of active traffic flow and then switch to push-pull mode when
      the active traffic flow goes beyond the certain limit.
      
      The advantage of staying in push mode for less active traffic is, the
      host cpu consumption is reduced. qca4019 firmware supports this
      flexibility of the mode switch. It takes the host driver interest
      (LOW_PERF/HIGH_PERF) via WMI_EXT_RESOURCE_CFG_CMDID,
      
       LOW_PERF  - fw would stay in push mode and switch to push-pull
                     based on demand.
       HIGH_PERF - fw would stay in push-pull mode from the boot.
      
      To make this configuration generic, new WMI services
      WMI_SERVICE_TX_MODE_PUSH_ONLY, WMI_SERVICE_TX_MODE_PUSH_PULL,
      WMI_SERVICE_TX_MODE_DYNAMIC are introduced to take dynamic tx mode
      switch support availability in firmware.
      Based on WMI_SERVICE_TX_MODE_DYNAMIC, LOW_PERF or HIGHT_PERF is
      configured to the firmware.
      Signed-off-by: NRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: NTamizh chelvam <c_traja@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      7e247a9e
    • R
      ath10k: fix rx_channel during hw reconfigure · 1ce8c148
      Rajkumar Manoharan 提交于
      Upon firmware assert, restart work will be triggered so that mac80211
      will reconfigure the driver. An issue is reported that after restart
      work, survey dump data do not contain in-use (SURVEY_INFO_IN_USE) info
      for operating channel. During reconfigure, since mac80211 already has
      valid channel context for given radio, channel context iteration return
      num_chanctx > 0. Hence rx_channel is always NULL. Fix this by assigning
      channel context to rx_channel when driver restart is in progress.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NRajkumar Manoharan <rmanohar@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      1ce8c148
  10. 14 4月, 2016 3 次提交
  11. 13 4月, 2016 1 次提交
  12. 12 4月, 2016 1 次提交
  13. 07 4月, 2016 1 次提交
  14. 23 3月, 2016 1 次提交
  15. 22 3月, 2016 2 次提交
  16. 18 3月, 2016 2 次提交
  17. 06 3月, 2016 11 次提交