1. 23 1月, 2017 2 次提交
  2. 21 1月, 2017 1 次提交
    • J
      iwlwifi: fix kernel crash when unregistering thermal zone · 92549cdc
      Jens Axboe 提交于
      A recent firmware change seems to have enabled thermal zones on the
      iwlwifi driver. Unfortunately, my device fails when registering the
      thermal zone. This doesn't stop the driver from attempting to unregister
      the thermal zone at unload time, triggering a NULL pointer deference in
      strlen() off the thermal_zone_device_unregister() path.
      
      Don't unregister if name is NULL, for that case we failed registering.
      Do the same for the cooling zone.
      Signed-off-by: NJens Axboe <axboe@fb.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      92549cdc
  3. 30 12月, 2016 2 次提交
  4. 26 12月, 2016 1 次提交
    • T
      ktime: Cleanup ktime_set() usage · 8b0e1953
      Thomas Gleixner 提交于
      ktime_set(S,N) was required for the timespec storage type and is still
      useful for situations where a Seconds and Nanoseconds part of a time value
      needs to be converted. For anything where the Seconds argument is 0, this
      is pointless and can be replaced with a simple assignment.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      8b0e1953
  5. 25 12月, 2016 1 次提交
  6. 21 12月, 2016 2 次提交
    • L
      rtlwifi: Fix kernel oops introduced with commit e4965614 · 22b68b93
      Larry Finger 提交于
      With commit e4965614 {"rtlwifi: Use dev_kfree_skb_irq instead of
      kfree_skb"), the method used to free an skb was changed because the
      kfree_skb() was inside a spinlock. What was forgotten is that kfree_skb()
      guards against a NULL value for the argument. Routine dev_kfree_skb_irq()
      does not, and a test is needed to prevent kernel panics.
      
      Fixes: e4965614 ("rtlwifi: Use dev_kfree_skb_irq instead of kfree_skb")
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org> # 4.9+
      Cc: Wei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      22b68b93
    • T
      ath9k: do not return early to fix rcu unlocking · d1f1c0e2
      Tobias Klausmann 提交于
      Starting with commit d94a461d ("ath9k: use ieee80211_tx_status_noskb
      where possible") the driver uses rcu_read_lock() && rcu_read_unlock(), yet on
      returning early in ath_tx_edma_tasklet() the unlock is missing leading to stalls
      and suspicious RCU usage:
      
       ===============================
       [ INFO: suspicious RCU usage. ]
       4.9.0-rc8 #11 Not tainted
       -------------------------------
       kernel/rcu/tree.c:705 Illegal idle entry in RCU read-side critical section.!
      
       other info that might help us debug this:
      
       RCU used illegally from idle CPU!
       rcu_scheduler_active = 1, debug_locks = 0
       RCU used illegally from extended quiescent state!
       1 lock held by swapper/7/0:
       #0:
        (
       rcu_read_lock
       ){......}
       , at:
       [<ffffffffa06ed110>] ath_tx_edma_tasklet+0x0/0x450 [ath9k]
      
       stack backtrace:
       CPU: 7 PID: 0 Comm: swapper/7 Not tainted 4.9.0-rc8 #11
       Hardware name: Acer Aspire V3-571G/VA50_HC_CR, BIOS V2.21 12/16/2013
        ffff88025efc3f38 ffffffff8132b1e5 ffff88017ede4540 0000000000000001
        ffff88025efc3f68 ffffffff810a25f7 ffff88025efcee60 ffff88017edebdd8
        ffff88025eeb5400 0000000000000091 ffff88025efc3f88 ffffffff810c3cd4
       Call Trace:
        <IRQ>
        [<ffffffff8132b1e5>] dump_stack+0x68/0x93
        [<ffffffff810a25f7>] lockdep_rcu_suspicious+0xd7/0x110
        [<ffffffff810c3cd4>] rcu_eqs_enter_common.constprop.85+0x154/0x200
        [<ffffffff810c5a54>] rcu_irq_exit+0x44/0xa0
        [<ffffffff81058631>] irq_exit+0x61/0xd0
        [<ffffffff81018d25>] do_IRQ+0x65/0x110
        [<ffffffff81672189>] common_interrupt+0x89/0x89
        <EOI>
        [<ffffffff814ffe11>] ? cpuidle_enter_state+0x151/0x200
        [<ffffffff814ffee2>] cpuidle_enter+0x12/0x20
        [<ffffffff8109a6ae>] call_cpuidle+0x1e/0x40
        [<ffffffff8109a8f6>] cpu_startup_entry+0x146/0x220
        [<ffffffff810336f8>] start_secondary+0x148/0x170
      Signed-off-by: NTobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
      Fixes: d94a461d ("ath9k: use ieee80211_tx_status_noskb where possible")
      Cc: <stable@vger.kernel.org> # v4.9
      Acked-by: NFelix Fietkau <nbd@nbd.name>
      Acked-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: NGabriel Craciunescu <nix.or.die@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d1f1c0e2
  7. 20 12月, 2016 3 次提交
    • B
      ath10k: free host-mem with DMA_BIRECTIONAL flag · d4166b8b
      Ben Greear 提交于
      Hopefully this fixes the problem reported by Kalle:
      
      Noticed this in my log, but I don't have time to investigate this in
      detail right now:
      
      [  413.795346] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
      [  414.158755] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
      [  477.439659] ath10k_pci 0000:02:00.0: could not get mac80211 beacon
      [  481.666630] ------------[ cut here ]------------
      [  481.666669] WARNING: CPU: 0 PID: 1978 at lib/dma-debug.c:1155 check_unmap+0x320/0x8e0
      [  481.666688] ath10k_pci 0000:02:00.0: DMA-API: device driver frees DMA memory with different direction [device address=0x000000002d130000] [size=63800 bytes] [mapped with DMA_BIDIRECTIONAL] [unmapped with DMA_TO_DEVICE]
      [  481.666703] Modules linked in: ctr ccm ath10k_pci(E-) ath10k_core(E) ath(E) mac80211(E) cfg80211(E) snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_seq_midi arc4 snd_rawmidi snd_seq_midi_event snd_seq btusb btintel snd_seq_device joydev coret
      [  481.671468] CPU: 0 PID: 1978 Comm: rmmod Tainted: G            E   4.9.0-rc7-wt+ #54
      [  481.671478] Hardware name: Hewlett-Packard HP ProBook 6540b/1722, BIOS 68CDD Ver. F.04 01/27/2010
      [  481.671489]  ef49dcec c842ee92 c8b5830e ef49dd34 ef49dd20 c80850f5 c8b5a13c ef49dd50
      [  481.671560]  000007ba c8b5830e 00000483 c8461830 c8461830 00000483 ef49ddcc f34e64b8
      [  481.671641]  c8b58360 ef49dd3c c80851bb 00000009 00000000 ef49dd34 c8b5a13c ef49dd50
      [  481.671716] Call Trace:
      [  481.671731]  [<c842ee92>] dump_stack+0x76/0xb4
      [  481.671745]  [<c80850f5>] __warn+0xe5/0x100
      [  481.671757]  [<c8461830>] ? check_unmap+0x320/0x8e0
      [  481.671769]  [<c8461830>] ? check_unmap+0x320/0x8e0
      [  481.671780]  [<c80851bb>] warn_slowpath_fmt+0x3b/0x40
      [  481.671791]  [<c8461830>] check_unmap+0x320/0x8e0
      [  481.671804]  [<c8462054>] debug_dma_unmap_page+0x84/0xa0
      [  481.671835]  [<f937cd7a>] ath10k_wmi_free_host_mem+0x9a/0xe0 [ath10k_core]
      [  481.671861]  [<f9363400>] ath10k_core_destroy+0x50/0x60 [ath10k_core]
      [  481.671875]  [<f8e13969>] ath10k_pci_remove+0x79/0xa0 [ath10k_pci]
      [  481.671889]  [<c848d8d8>] pci_device_remove+0x38/0xb0
      [  481.671901]  [<c859fe4b>] __device_release_driver+0x7b/0x110
      [  481.671913]  [<c85a00e7>] driver_detach+0x97/0xa0
      [  481.671923]  [<c859ef8b>] bus_remove_driver+0x4b/0xb0
      [  481.671934]  [<c85a0cda>] driver_unregister+0x2a/0x60
      [  481.671949]  [<c848c888>] pci_unregister_driver+0x18/0x70
      [  481.671965]  [<f8e14dae>] ath10k_pci_exit+0xd/0x25f [ath10k_pci]
      [  481.671979]  [<c812bb84>] SyS_delete_module+0xf4/0x180
      [  481.671995]  [<c81f801b>] ? __might_fault+0x8b/0xa0
      [  481.672009]  [<c80037d0>] do_fast_syscall_32+0xa0/0x1e0
      [  481.672025]  [<c88d4c88>] sysenter_past_esp+0x45/0x74
      [  481.672037] ---[ end trace 3fd23759e17e1622 ]---
      [  481.672049] Mapped at:
      [  481.672060]  [  481.672072] [<c846062c>] debug_dma_map_page.part.25+0x1c/0xf0
      [  481.672083]  [  481.672095] [<c8460799>] debug_dma_map_page+0x99/0xc0
      [  481.672106]  [  481.672132] [<f93745ec>] ath10k_wmi_alloc_chunk+0x12c/0x1f0 [ath10k_core]
      [  481.672142]  [  481.672168] [<f937d0c4>] ath10k_wmi_event_service_ready_work+0x304/0x540 [ath10k_core]
      [  481.672178]  [  481.672190] [<c80a3643>] process_one_work+0x1c3/0x670
      [  482.137134] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
      [  482.313144] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2
      [  482.313274] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
      [  482.313768] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
      [  482.313777] ath10k_pci 0000:02:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 0 testmode 1
      [  482.313974] ath10k_pci 0000:02:00.0: firmware ver 10.2.4.70.59-2 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 4159f498
      [  482.369858] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
      [  482.370011] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
      [  483.596770] ath10k_pci 0000:02:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1
      [  483.701686] ath: EEPROM regdomain: 0x0
      [  483.701706] ath: EEPROM indicates default country code should be used
      [  483.701713] ath: doing EEPROM country->regdmn map search
      [  483.701721] ath: country maps to regdmn code: 0x3a
      [  483.701730] ath: Country alpha2 being used: US
      [  483.701737] ath: Regpair used: 0x3a
      Reported-by: NKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d4166b8b
    • A
      brcmfmac: fix uninitialized field in scheduled scan ssid configuration · 2b66325d
      Arend Van Spriel 提交于
      The scheduled scan ssid configuration in firmware has a flags field that
      was not initialized resulting in unexpected behaviour.
      
      Fixes: e3bdb7cc0300 ("brcmfmac: fix handling ssids in .sched_scan_start() callback")
      Reviewed-by: NHante Meuleman <hante.meuleman@broadcom.com>
      Reviewed-by: NPieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
      Reviewed-by: NFranky Lin <franky.lin@broadcom.com>
      Signed-off-by: NArend van Spriel <arend.vanspriel@broadcom.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      2b66325d
    • A
      brcmfmac: fix memory leak in brcmf_cfg80211_attach() · cb853da3
      Arend Van Spriel 提交于
      In brcmf_cfg80211_attach() there was one error path not properly
      handled as it leaked memory allocated in brcmf_btcoex_attach().
      Reviewed-by: NHante Meuleman <hante.meuleman@broadcom.com>
      Reviewed-by: NPieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
      Reviewed-by: NFranky Lin <franky.lin@broadcom.com>
      Signed-off-by: NArend van Spriel <arend.vanspriel@broadcom.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      cb853da3
  8. 16 12月, 2016 2 次提交
  9. 15 12月, 2016 1 次提交
  10. 14 12月, 2016 1 次提交
  11. 04 12月, 2016 1 次提交
  12. 01 12月, 2016 13 次提交
    • J
      rtl8xxxu: Work around issue with 8192eu and 8723bu devices not reconnecting · c59f13bb
      Jes Sorensen 提交于
      The H2C MEDIA_STATUS_RPT command for some reason causes 8192eu and
      8723bu devices not being able to reconnect.
      Reported-by: NBarry Day <briselec@gmail.com>
      Cc: <stable@vger.kernel.org> #4.8+
      Signed-off-by: NJes Sorensen <Jes.Sorensen@redhat.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      c59f13bb
    • G
      ath5k: drop duplicate header vmalloc.h · 384abd33
      Geliang Tang 提交于
      Drop duplicate header vmalloc.h from ath5k/debug.c.
      Signed-off-by: NGeliang Tang <geliangtang@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      384abd33
    • L
      wil6210: align to latest auto generated wmi.h · 8ae5d62c
      Lior David 提交于
      Align to latest version of the auto generated wmi file
      describing the interface with FW.
      Signed-off-by: NLior David <qca_liord@qca.qualcomm.com>
      Signed-off-by: NMaya Erez <qca_merez@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8ae5d62c
    • L
      wil6210: add debugfs blobs for UCODE code and data · 61578820
      Lior David 提交于
      Added new areas to fw_mappings area for UCODE code
      and data areas.
      The new areas are only exposed through debugfs blobs,
      and mainly needed to access UCODE logs.
      The change does not affect crash dumps because the
      newly added areas overlap with the "upper" area which
      is already dumped.
      Signed-off-by: NLior David <qca_liord@qca.qualcomm.com>
      Signed-off-by: NMaya Erez <qca_merez@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      61578820
    • M
      wil6210: validate wil_pmc_alloc parameters · 1db226ff
      Maya Erez 提交于
      num_descriptors and descriptor_size needs to be
      checked for:
      1) not being negative values
      2) no overflow occurs when these are multiplied
      together as done in wil_pmc_read.
      An overflow of two signed integers is undefined
      behavior.
      Signed-off-by: NMaya Erez <qca_merez@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      1db226ff
    • L
      wil6210: delay remain on channel when scan is active · bb6743f7
      Lior David 提交于
      Currently it was possible to call remain_on_channel(ROC)
      while scan was active and this caused a crash in the FW.
      In order to fix this problem and make the behavior
      consistent with other drivers, queue the ROC in case
      a scan is active and try it again when scan is done.
      As part of the fix, clean up some locking issues and
      return error if scan is called while ROC is active.
      Signed-off-by: NLior David <qca_liord@qca.qualcomm.com>
      Signed-off-by: NMaya Erez <qca_merez@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      bb6743f7
    • A
      ath9k_htc: don't use HZ for usb msg timeouts · 982a6151
      Anthony Romano 提交于
      The usb_*_msg() functions expect a timeout in msecs but are given HZ,
      which is ticks per second. If HZ=100, firmware download often times out
      when there is modest USB utilization and the device fails to initialize.
      
      Replaces HZ in usb_*_msg timeouts with 1000 msec since HZ is one second
      for timeouts in jiffies.
      Signed-off-by: NAnthony Romano <anthony.romano@coreos.com>
      Acked-by: NOleksij Rempel <linux@rempel-privat.de>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      982a6151
    • B
      ath9k: constify ath_bus_ops structure · 8ca5a607
      Bhumika Goyal 提交于
      Declare the structure ath_bus_ops as const as it is only passed as an
      argument to the function ath9k_init_device. This argument is of type
      const struct ath_bus_ops *, so ath_bus_ops structures with this property
      can be declared as const.
      Done using Coccinelle:
      @r1 disable optional_qualifier @
      identifier i;
      position p;
      @@
      static struct ath_bus_ops i@p = {...};
      
      @ok1@
      identifier r1.i;
      position p;
      expression e1,e2;
      @@
      ath9k_init_device(e1,e2,&i@p)
      
      @bad@
      position p!={r1.p,ok1.p};
      identifier r1.i;
      @@
      i@p
      
      @depends on !bad disable optional_qualifier@
      identifier r1.i;
      @@
      static
      +const
      struct ath_bus_ops i={...};
      
      @depends on !bad disable optional_qualifier@
      identifier r1.i;
      @@
      +const
      struct ath_bus_ops i;
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         1295	    232	      0	   1527	    5f7	ath/ath9k/ahb.o
      
      File size after:
         text	   data	    bss	    dec	    hex	filename
         1359	    176	      0	   1535	    5ff	ath/ath9k/ahb.o
      Signed-off-by: NBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8ca5a607
    • B
      ath10k: wmi-alloc-chunk should use DMA_BIDIRECTIONAL · 43ca92d3
      Ben Greear 提交于
      These memory chunks are often used as 'swap' by the NIC,
      so it will be both reading and writing to these areas.
      
      This seems to fix errors like this on my x86-64 machine:
      
      kernel: DMAR: DMAR:[DMA Write] Request device [05:00.0] fault addr ff5de000
              DMAR:[fault reason 05] PTE Write access is not set
      Tested-by: NMarek Behun <kabel@blackhole.sk>
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      43ca92d3
    • M
      ath10k: fix Tx DMA alloc failure during continuous wifi down/up · 9ec34a86
      Mohammed Shafi Shajakhan 提交于
      With maximum number of vap's configured in a two radio supported
      systems of ~256 Mb RAM, doing a continuous wifi down/up and
      intermittent traffic streaming from the connected stations results
      in failure to allocate contiguous memory for tx buffers. This results
      in the disappearance of all VAP's and a manual reboot is needed as
      this is not a crash (or) OOM(for OOM killer to be invoked). To address
      this allocate contiguous memory for tx buffers one time and re-use them
      until the modules are unloaded but this results in a slight increase in
      memory footprint of ath10k when the wifi is down, but the modules are
      still loaded. Also as of now we use a separate bool 'tx_mem_allocated'
      to keep track of the one time memory allocation, as we cannot come up
      with something like 'ath10k_tx_{register,unregister}' before
      'ath10k_probe_fw' is called as 'ath10k_htt_tx_alloc_cont_frag_desc'
      memory allocation is dependent on the hw_param 'continuous_frag_desc'
      
      a) memory footprint of ath10k without the change
      
      lsmod | grep ath10k
      ath10k_core           414498  1 ath10k_pci
      ath10k_pci             38236  0
      
      b) memory footprint of ath10k with the change
      
      ath10k_core           414980  1 ath10k_pci
      ath10k_pci             38236  0
      
      Memory Failure Call trace:
      
      hostapd: page allocation failure: order:6, mode:0xd0
       [<c021f150>] (__dma_alloc_buffer.isra.23) from
      [<c021f23c>] (__alloc_remap_buffer.isra.26+0x14/0xb8)
      [<c021f23c>] (__alloc_remap_buffer.isra.26) from
      [<c021f664>] (__dma_alloc+0x224/0x2b8)
      [<c021f664>] (__dma_alloc) from [<c021f810>]
      (arm_dma_alloc+0x84/0x90)
      [<c021f810>] (arm_dma_alloc) from [<bf954764>]
      (ath10k_htt_tx_alloc+0xe0/0x2e4 [ath10k_core])
      [<bf954764>] (ath10k_htt_tx_alloc [ath10k_core]) from
      [<bf94e6ac>] (ath10k_core_start+0x538/0xcf8 [ath10k_core])
      [<bf94e6ac>] (ath10k_core_start [ath10k_core]) from
      [<bf947eec>] (ath10k_start+0xbc/0x56c [ath10k_core])
      [<bf947eec>] (ath10k_start [ath10k_core]) from
      [<bf8a7a04>] (drv_start+0x40/0x5c [mac80211])
      [<bf8a7a04>] (drv_start [mac80211]) from [<bf8b7cf8>]
      (ieee80211_do_open+0x170/0x82c [mac80211])
      [<bf8b7cf8>] (ieee80211_do_open [mac80211]) from
      [<c056afc8>] (__dev_open+0xa0/0xf4)
      [21053.491752] Normal: 641*4kB (UEMR) 505*8kB (UEMR) 330*16kB (UEMR)
      126*32kB (UEMR) 762*64kB (UEMR) 237*128kB (UEMR) 1*256kB (M) 0*512kB
      0*1024kB 0*2048kB 0*4096kB = 95276kB
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      9ec34a86
    • M
      ath10k: fix soft lockup during firmware crash/hw-restart · c2cac2f7
      Mohammed Shafi Shajakhan 提交于
      During firmware crash (or) user requested manual restart
      the system gets into a soft lock up state because of the
      below root cause.
      
      During user requested hardware restart / firmware crash
      the system goes into a soft lockup state as 'napi_synchronize'
      is called after 'napi_disable' (which sets 'NAPI_STATE_SCHED'
      bit) and it sleeps into infinite loop as it waits for
      'NAPI_STATE_SCHED' to be cleared. This condition is hit because
      'ath10k_hif_stop' is called twice as below (resulting in calling
      'napi_synchronize' after 'napi_disable')
      
      'ath10k_core_restart' -> 'ath10k_hif_stop' (ATH10K_STATE_ON) ->
      -> 'ieee80211_restart_hw' -> 'ath10k_start' -> 'ath10k_halt' ->
      'ath10k_core_stop' -> 'ath10k_hif_stop' (ATH10K_STATE_RESTARTING)
      
      Fix this by calling 'ath10k_halt' in ath10k_core_restart itself
      as it makes more sense before informing mac80211 to restart h/w
      Also remove 'ath10k_halt' in ath10k_start for the state of 'restarting'
      
      Fixes: 3c97f5de ("ath10k: implement NAPI support")
      Cc: <stable@vger.kernel.org> # v4.9
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c2cac2f7
    • E
      ath10k: fix TLV set regdomain command · 4e322f7d
      Erik Stromdahl 提交于
      There is a typo bug in the current implementation of
      ath10k_wmi_tlv_op_gen_pdev_set_rd.
      The conformance test limits are not set up properly.
      
      The two arguments ctl2g and ctl5g were not used at all.
      Instead, the regdomain arguments rd2g and rd5g were used
      for the ctl settings as well.
      Signed-off-by: NErik Stromdahl <erik.stromdahl@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      4e322f7d
    • Z
      ath9k: feed only active spectral / dfs-detector · 87fedb97
      Zefir Kurtisi 提交于
      Radar pulse and spectral scan reports are provided by the HW
      with the ATH9K_RXERR_PHY flag set. Those are forwarded to
      the dfs-detector and spectral module for further processing.
      
      For some older chips, the pre-conditions checked in those
      modules are ambiguous, since ATH9K_PHYERR_RADAR is used to
      tag both types. As a result, spectral frames are fed into
      the dfs-detector and vice versa.
      
      This could lead to a false radar detection on a non-DFS
      channel (which is uncritical), but more relevant it causes
      useless CPU load for processing invalid frames.
      
      This commit ensures that the dfs-detector and spectral
      collector are only fed when they are active.
      Signed-off-by: NZefir Kurtisi <zefir.kurtisi@neratec.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      87fedb97
  13. 29 11月, 2016 10 次提交