1. 16 3月, 2017 5 次提交
    • M
      ath10k: fix fetching channel during potential radar detection · a28f6f27
      Mohammed Shafi Shajakhan 提交于
      Fetch target operating channel during potential radar detection when
      the interface is just brought up, but no channel is assigned from
      userspace. In this scenario rx_channel may not be having a valid pointer
      hence fetch the target operating channel to avoid warnings as below
      which can be triggered by the commands with DFS testing over longer run
      
      comamnds:
      iw wlan1 set type mesh
      ifconfig wlan1 up (valid tgt_oper_chan only)
      iw wlan1 cac trigger freq 5260 HT20 (valid rx_channel, tgt_oper_chan)
      iw wlan1 cac trigger freq 5280 HT20
      iw wlan1 cac trigger freq 5300 HT20
      
      Once the CAC expires, current channel context will be removed and
      we are only left with the fallback option of using 'target operating
      channel'
      
      Firmware and driver log:
      ath: phy1: DFS: radar found on freq=5300: id=1, pri=1125, count=5,
      count_false=4
      ath: phy1: DFS: radar found on freq=5260: id=5, pri=3151, count=6,
      count_false=11
      ath: phy1: DFS: radar found on freq=5280: id=1, pri=1351, count=6,
      count_false=4
      ath: phy1: DFS: radar found on freq=5300: id=1, pri=1125, count=5,
      count_false=4
      ath10k_pci 0001:01:00.0: failed to derive channel for radar pulse,
      treating as radar
      ath10k_pci 0001:01:00.0: failed to derive channel for radar pulse,
      treating as radar
      
      Call trace:
      
      WARNING: CPU: 1 PID: 2145 at
      backports-20161201-3.14.77-9ab3068/net/wireless/chan.c:265
      cfg80211_set_dfs_state+0x3c/0x88 [cfg80211]()
      
       Workqueue: phy1 ieee80211_dfs_radar_detected_work
      [mac80211]
      [<c0320770>] (warn_slowpath_null) from [<bf79b90c>]
      (cfg80211_set_dfs_state+0x3c/0x88 [cfg80211])
      [<bf79b90c>] (cfg80211_set_dfs_state [cfg80211]) from
      [<bf79697c>] (cfg80211_radar_event+0xc4/0x140 [cfg80211])
      [<bf79697c>] (cfg80211_radar_event [cfg80211]) from
      [<bf83c058>] (ieee80211_dfs_radar_detected_work+0xa8/0xb4 [mac80211])
      [<bf83c058>] (ieee80211_dfs_radar_detected_work
      [mac80211]) from [<c0339518>] (process_one_work+0x298/0x4a4)
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      a28f6f27
    • C
      ath10k: remove redundant error check · 51f60b8b
      Colin Ian King 提交于
      The check on ret for an error is redundant because it is already been
      checked for non-zero earlier on and ret is never non-zero at this point.
      Fix this by removing the redundant check and error message.
      
      Detected by CoverityScan, CID#1357170 ("Logically Dead Code")
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      51f60b8b
    • Z
      ath9k: don't trigger spectral scan when not enabled · 45c3d550
      Zefir Kurtisi 提交于
      Doing so enables the FFT generation without prior
      configuration, leading to an IRQ storm caused by
      invalid (or at least unwanted) PHY errors.
      Signed-off-by: NZefir Kurtisi <zefir.kurtisi@neratec.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      45c3d550
    • T
      ath10k: update available channel list for 5G radio · 523f6701
      Tamizh chelvam 提交于
      If a 5 GHz radio is calibrated for operation in both
      the low band (channels 36 to 64) and high band(channels 100 to 169),
      hardware allows operations in all the listed channels. However,
      if the chip has been calibrated only for the low/high band and
      a high/low band channel is configured, due to lack of calibration
      there will be potentially invalid signal on those non calibrated channels.
      To avoid this problem this patch sets IEEE80211_CHAN_DISABLED flag for
      those non calibrated channels by using low_5ghz_chan and high_5ghz_chan
      values which we get from target through wmi service ready event.
      
      Driver initialized flags are getting re initialized in handle_channel
      in cfg80211. So calling the function to disable the non supported channel
      from reg_notifier().
      Signed-off-by: NTamizh chelvam <c_traja@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      523f6701
    • M
      ath10k: disallow DFS simulation if DFS channel is not enabled · ca07baab
      Mohammed Shafi Shajakhan 提交于
      If DFS is not enabled in hostapd (ieee80211h=0) DFS channels shall
      not be available for use even though the hardware may have the capability
      to support DFS. With this configuration (DFS disabled in hostapd) trying to
      bring up ath10k device in DFS channel for AP mode fails and trying to
      simulate DFS in ath10k debugfs results in a warning in cfg80211 complaining
      invalid channel and this should be avoided in the driver itself rather than
      false propogating RADAR detection to mac80211/cfg80211. Fix this by
      checking for the first vif 'is_started' state(should work for client mode
      as well) as all the vifs shall be configured for the same channel
      
      sys/kernel/debug/ieee80211/phy1/ath10k# echo 1 > dfs_simulate_radar
      
      WARNING: at net/wireless/chan.c:265 cfg80211_radar_event+0x24/0x60
      Workqueue: phy0 ieee80211_dfs_radar_detected_work [mac80211]
      [<c022f2d4>] (warn_slowpath_null) from
      [<bf72dab8>] (cfg80211_radar_event+0x24/0x60 [cfg80211])
      [<bf72dab8>] (cfg80211_radar_event [cfg80211]) from
      [<bf7813e0>] (ieee80211_dfs_radar_detected_work+0x94/0xa0 [mac80211])
      [<bf7813e0>] (ieee80211_dfs_radar_detected_work [mac80211]) from
      [<c0242320>] (process_one_work+0x20c/0x32c)
      
      WARNING: at net/wireless/nl80211.c:2488 nl80211_get_mpath+0x13c/0x4cc
       Workqueue: phy0 ieee80211_dfs_radar_detected_work [mac80211]
      [<c022f2d4>] (warn_slowpath_null) from
      [<bf72dab8>] (cfg80211_radar_event+0x24/0x60 [cfg80211])
      [<bf72dab8>] (cfg80211_radar_event [cfg80211]) from
      [<bf7813e0>] (ieee80211_dfs_radar_detected_work+0x94/0xa0 [mac80211])
      [<bf7813e0>] (ieee80211_dfs_radar_detected_work [mac80211]) from
      [<c0242320>] (process_one_work+0x20c/0x32c)
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      ca07baab
  2. 09 3月, 2017 15 次提交
  3. 02 3月, 2017 4 次提交
    • W
      ath10k: search SMBIOS for OEM board file extension · 1657b8f8
      Waldemar Rymarkiewicz 提交于
      Board Data File (BDF) is loaded upon driver boot-up procedure. The right
      board data file is identified, among others, by device and sybsystem ids.
      
      The problem, however, can occur when the (default) board data file cannot
      fulfill with the vendor requirements and it is necessary to use a different
      board data file.
      
      To solve the issue QCA uses SMBIOS type 0xF8 to store Board Data File Name
      Extension to specify the extension/variant name. The driver will take the
      extension suffix into consideration and will load the right (non-default)
      board data file if necessary.
      
      If it is unnecessary to use extension board data file, please leave the
      SMBIOS field blank and default configuration will be used.
      
      Example:
      If a default board data file for a specific board is identified by a string
            "bus=pci,vendor=168c,device=003e,subsystem-vendor=1028,
             subsystem-device=0310"
      then the OEM specific data file, if used, could be identified by variant
      suffix:
            "bus=pci,vendor=168c,device=003e,subsystem-vendor=1028,
             subsystem-device=0310,variant=DE_1AB"
      
      If board data file name extension is set but board-2.bin does not contain
      board data file for the variant, the driver will fallback to the default
      board data file not to break backward compatibility.
      
      This was first applied in commit f2593cb1 ("ath10k: Search SMBIOS for OEM
      board file extension") but later reverted in commit 005c3490 ("Revert
      "ath10k: Search SMBIOS for OEM board file extension"". This patch is now
      otherwise the same as commit f2593cb1 except the regression fixed.
      Signed-off-by: NWaldemar Rymarkiewicz <ext.waldemar.rymarkiewicz@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      1657b8f8
    • I
      sched/headers: Prepare to move signal wakeup & sigpending methods from... · 174cd4b1
      Ingo Molnar 提交于
      sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
      
      Fix up affected files that include this signal functionality via sched.h.
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      174cd4b1
    • I
      sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> · 3f07c014
      Ingo Molnar 提交于
      We are going to split <linux/sched/signal.h> out of <linux/sched.h>, which
      will have to be picked up from other headers and a couple of .c files.
      
      Create a trivial placeholder <linux/sched/signal.h> file that just
      maps to <linux/sched.h> to make this patch obviously correct and
      bisectable.
      
      Include the new header in the files that are going to need it.
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      3f07c014
    • J
      average: change to declare precision, not factor · eb1e011a
      Johannes Berg 提交于
      Declaring the factor is counter-intuitive, and people are prone
      to using small(-ish) values even when that makes no sense.
      
      Change the DECLARE_EWMA() macro to take the fractional precision,
      in bits, rather than a factor, and update all users.
      
      While at it, add some more documentation.
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      eb1e011a
  4. 28 2月, 2017 8 次提交
  5. 27 2月, 2017 1 次提交
  6. 26 2月, 2017 1 次提交
  7. 22 2月, 2017 1 次提交
  8. 15 2月, 2017 5 次提交