summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath (follow)
Commit message (Collapse)AuthorAge
...
| * | | ath10k: Set fw feature flag for no 4addr hdr paddingRakesh Pillai2018-02-13
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WCN3990 gives no padding for llc header in the rx pkts. The rounding off of hdrlen causes extra bits from LLC header being stripped off and hence the pkt is misinterpreted and subsequently discarded. Set the fw flag to skip the hdrlen rounding off for wcn3990. CRs-Fixed: 2189079 Change-Id: I038791707977f0d4ee81986e6c76d86606a69d9c Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | | Merge "ath10k: Enable wlan firmware based on the driver mode"Linux Build Service Account2018-02-07
|\ \ \
| * | | ath10k: Enable wlan firmware based on the driver modeRakesh Pillai2018-02-06
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The firmware is always enabled in the mission mode, even if the driver is in the utf mode. This causes unexpected behaviour when driver is in utf mode. Enable the firmware in FTM mode if the driver is started in UTF mode, else enable the firmware in the normal mission mode. Change-Id: I4da204b6d19d41e208465a8314bfb8cacc346f4b Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | | Merge "ath10k: Handle mgmt tx completion event"Linux Build Service Account2018-02-06
|\ \ \
| * | | ath10k: Handle mgmt tx completion eventRakesh Pillai2018-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WCN3900 uses mgmt frame tx by ref via WMI. The txed mgmt frames should be freed when the firmware sends the over-the-air tx status of the corresponding mgmt frames. Handle the wmi mgmt tx completion event and free the corresponding mgmt frame. CRs-Fixed: 2181843 Change-Id: I07135230e39aecff3f646d3eab2b6ab5272cb21b Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | | | Merge "ath10k: fix the race condition in wow suspend-resume cycle"Linux Build Service Account2018-02-02
|\ \ \ \
| * | | | ath10k: fix the race condition in wow suspend-resume cycleSarada Prasanna Garnayak2018-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During wow suspend enable the wow event wakeup source if the STA is in connected state and during wow resume report the wow wakeup reason to mac80211 and nl80211 layer. This fix adds support to synchronize the wow suspend-resume cycle and prevent the device to wakeup from wow suspend state by an invalid wow event when the STA is in the disconnected state. CRs-Fixed: 2175472 Change-Id: I093f3c5a80b4f67578dfb114b9cc9ea778f19168 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | | | | Merge "ath10k: dma unmap mgmt tx buffer if wmi cmd send fails"Linux Build Service Account2018-02-02
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / /
| * / / ath10k: dma unmap mgmt tx buffer if wmi cmd send failsRakesh Pillai2018-02-01
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WCN3990 sends mgmt frames by reference via WMI. If the wmi command send fails, the frame is not being dma unmapped. Fix the missing dma unmapping of mgmt tx frame when wmi command sending fails. Add a separate wmi-tlv op for mgmt tx, via ref, which accepts dma mapped address which is sent to the firmware. CRs-Fixed: 2181836 Change-Id: I3f036023ac0ecbd845d842b649be882fd17619e5 Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | | Merge "ath10k: Indicate MSDU_ID_NEW_PARTITION support in host cap flags"Linux Build Service Account2018-02-01
|\ \ \
| * | | ath10k: Indicate MSDU_ID_NEW_PARTITION support in host cap flagsSurabhi Vishnoi2018-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HL1.0 firmware uses msdu desc_id above 3000 as a reference to indicate tx completion on a different endpoint. Due to this, if the host driver uses more than 3000 msdu desc_id, the tx completion for the msdu with desc_id above 3000 is sent to a different endpoint. Setting the MSDU_ID_NEW_PARTITION host driver capability support in the wmi ready flags indicates to the HL1.0 firmware to change this threshold reference to a higher value. Change-Id: If7bbddb6827bbe2be995c153328611930319d74e Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
* | | | Merge "ath10k: Add host capability indication flag in wmi ready cmd"Linux Build Service Account2018-02-01
|\| | |
| * | | ath10k: Add host capability indication flag in wmi ready cmdSurabhi Vishnoi2018-01-29
| |/ / | | | | | | | | | | | | | | | | | | | | | Add the host capability indication flags in the wmi ready command, for firmware to know the features supported by host driver. Change-Id: I0c07fb371e474995cb00f51bfe0eea4f46ab4223 Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
* / / ath10k: Enable SRRI/DRRI support on ddrGovind Singh2018-01-29
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SRRI/DRRI can be read from DDR instead of doing an actual hardware read. Host allocates non cached memory on ddr and sends the physical address of this memory to the CE hardware. The hardware updates the RRI on this particular location. Target registers are not accessible during CSS shutdown while target is in idle mode. Direct access to SRRI/DRRI can lead to NOC error in target idle state. Read SRRI/DRRI from DDR location instead of direct target read. Change-Id: Iae3772fb6408469c5f9db8a9210d3ab6ea35eccf Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | Merge "Merge android-4.4.110 (5cc8c2e) into msm-4.4"Linux Build Service Account2018-01-19
|\ \
| * | Merge android-4.4.107 (79f138a) into msm-4.4Srinivasarao P2018-01-18
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-79f138a Linux 4.4.107 ath9k: fix tx99 potential info leak IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop RDMA/cma: Avoid triggering undefined behavior macvlan: Only deliver one copy of the frame to the macvlan interface udf: Avoid overflow when session starts at large offset scsi: bfa: integer overflow in debugfs scsi: sd: change allow_restart to bool in sysfs interface scsi: sd: change manage_start_stop to bool in sysfs interface vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry raid5: Set R5_Expanded on parity devices as well as data. pinctrl: adi2: Fix Kconfig build problem usb: musb: da8xx: fix babble condition handling tty fix oops when rmmod 8250 powerpc/perf/hv-24x7: Fix incorrect comparison in memord scsi: hpsa: destroy sas transport properties before scsi_host scsi: hpsa: cleanup sas_phy structures in sysfs when unloading PCI: Detach driver before procfs & sysfs teardown on device remove xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real xfs: fix log block underflow during recovery cycle verification l2tp: cleanup l2tp_tunnel_delete calls bcache: fix wrong cache_misses statistics bcache: explicitly destroy mutex while exiting GFS2: Take inode off order_write list when setting jdata flag thermal/drivers/step_wise: Fix temperature regulation misbehavior ppp: Destroy the mutex when cleanup clk: tegra: Fix cclk_lp divisor register clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU clk: mediatek: add the option for determining PLL source clock mm: Handle 0 flags in _calc_vm_trans() macro crypto: tcrypt - fix buffer lengths in test_aead_speed() arm-ccn: perf: Prevent module unload while PMU is in use target/file: Do not return error for UNMAP if length is zero target:fix condition return in core_pr_dump_initiator_port() iscsi-target: fix memory leak in lio_target_tiqn_addtpg() target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd() powerpc/ipic: Fix status get and status clear powerpc/opal: Fix EBUSY bug in acquiring tokens netfilter: ipvs: Fix inappropriate output of procfs powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo PCI/PME: Handle invalid data when reading Root Status dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type rtc: pcf8563: fix output clock rate video: fbdev: au1200fb: Return an error code if a memory allocation fails video: fbdev: au1200fb: Release some resources if a memory allocation fails video: udlfb: Fix read EDID timeout fbdev: controlfb: Add missing modes to fix out of bounds access sfc: don't warn on successful change of MAC target: fix race during implicit transition work flushes target: fix ALUA transition timeout handling target: Use system workqueue for ALUA transitions btrfs: add missing memset while reading compressed inline extents NFSv4.1 respect server's max size in CREATE_SESSION efi/esrt: Cleanup bad memory map log messages perf symbols: Fix symbols__fixup_end heuristic for corner cases net/mlx4_core: Avoid delays during VF driver device shutdown afs: Fix afs_kill_pages() afs: Fix page leak in afs_write_begin() afs: Populate and use client modification time afs: Fix the maths in afs_fs_store_data() afs: Prevent callback expiry timer overflow afs: Migrate vlocation fields to 64-bit afs: Flush outstanding writes when an fd is closed afs: Adjust mode bits processing afs: Populate group ID from vnode status afs: Fix missing put_page() drm/radeon: reinstate oland workaround for sclk mmc: mediatek: Fixed bug where clock frequency could be set wrong sched/deadline: Use deadline instead of period when calculating overflow sched/deadline: Throttle a constrained deadline task activated after the deadline sched/deadline: Make sure the replenishment timer fires in the next period drm/radeon/si: add dpm quirk for Oland fjes: Fix wrong netdevice feature flags scsi: hpsa: limit outstanding rescans scsi: hpsa: update check for logical volume status openrisc: fix issue handling 8 byte get_user calls intel_th: pci: Add Gemini Lake support mlxsw: reg: Fix SPVMLR max record count mlxsw: reg: Fix SPVM max record count net: Resend IGMP memberships upon peer notification. dmaengine: Fix array index out of bounds warning in __get_unmap_pool() net: wimax/i2400m: fix NULL-deref at probe writeback: fix memory leak in wb_queue_work() netfilter: bridge: honor frag_max_size when refragmenting drm/omap: fix dmabuf mmap for dma_alloc'ed buffers Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list NFSD: fix nfsd_reset_versions for NFSv4. NFSD: fix nfsd_minorversion(.., NFSD_AVAIL) net: bcmgenet: Power up the internal PHY before probing the MII net: bcmgenet: power down internal phy if open or resume fails net: bcmgenet: reserved phy revisions must be checked first net: bcmgenet: correct MIB access of UniMAC RUNT counters net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values net: initialize msg.msg_flags in recvfrom userfaultfd: selftest: vm: allow to build in vm/ directory userfaultfd: shmem: __do_fault requires VM_FAULT_NOPAGE md-cluster: free md_cluster_info if node leave cluster usb: phy: isp1301: Add OF device ID table mac80211: Fix addition of mesh configuration element KEYS: add missing permission check for request_key() destination ext4: fix crash when a directory's i_size is too small ext4: fix fdatasync(2) after fallocate(2) operation dmaengine: dmatest: move callback wait queue to thread context sched/rt: Do not pull from current CPU if only one CPU to pull xhci: Don't add a virt_dev to the devs array before it's fully allocated Bluetooth: btusb: driver to enable the usb-wakeup feature ceph: drop negative child dentries before try pruning inode's alias usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer USB: core: prevent malicious bNumInterfaces overflow USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID tracing: Allocate mask_str buffer dynamically autofs: fix careless error in recent commit crypto: salsa20 - fix blkcipher_walk API usage crypto: hmac - require that the underlying hash algorithm is unkeyed UPSTREAM: arm64: setup: introduce kaslr_offset() UPSTREAM: kcov: fix comparison callback signature UPSTREAM: kcov: support comparison operands collection UPSTREAM: kcov: remove pointless current != NULL check UPSTREAM: kcov: support compat processes UPSTREAM: kcov: simplify interrupt check UPSTREAM: kcov: make kcov work properly with KASLR enabled UPSTREAM: kcov: add more missing includes UPSTREAM: kcov: add missing #include <linux/sched.h> UPSTREAM: kcov: properly check if we are in an interrupt UPSTREAM: kcov: don't profile branches in kcov UPSTREAM: kcov: don't trace the code coverage code BACKPORT: kernel: add kcov code coverage Conflicts: Makefile mm/kasan/Makefile scripts/Makefile.lib Change-Id: Ic19953706ea2e700621b0ba94d1c90bbffa4f471 Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
| | * ath9k: fix tx99 potential info leakMiaoqing Pan2017-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit ee0a47186e2fa9aa1c56cadcea470ca0ba8c8692 ] When the user sets count to zero the string buffer would remain completely uninitialized which causes the kernel to parse its own stack data, potentially leading to an info leak. In addition to that, the string might be not terminated properly when the user data does not contain a 0-terminator. Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> Reviewed-by: Christoph Böhmwalder <christoph@boehmwalder.at> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | ath10k: wakeup device from wow suspend on GTK rekey failureSarada Prasanna Garnayak2018-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ath10k wlan firmware supports GTK rekeying while asleep. Enable GTK rekeying failure wakeup source in wow suspend. This adds support to wakeup the device from wow suspend state if GTK rekeying process failed in the wlan firmware. CRs-Fixed: 2169340 Change-Id: I321a6139d74b0fcf476e961ba83879fae9c39f04 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | | Merge "Merge android-4.4.104 (8bc4213) into msm-4.4"Linux Build Service Account2018-01-11
|\| |
| * | Merge android-4.4.103 (9fbf3d7) into msm-4.4Srinivasarao P2018-01-02
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-9fbf3d7 Linux 4.4.103 Revert "sctp: do not peel off an assoc from one netns to another one" xen: xenbus driver must not accept invalid transaction ids s390/kbuild: enable modversions for symbols exported from asm ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data btrfs: return the actual error value from from btrfs_uuid_tree_iterate ASoC: rsnd: don't double free kctrl netfilter: nf_tables: fix oob access netfilter: nft_queue: use raw_smp_processor_id() spi: SPI_FSL_DSPI should depend on HAS_DMA staging: iio: cdc: fix improper return value iio: light: fix improper return value mac80211: Suppress NEW_PEER_CANDIDATE event if no room mac80211: Remove invalid flag operations in mesh TSF synchronization drm: Apply range restriction after color adjustment when allocation ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE ath10k: set CTS protection VDEV param only if VDEV is up ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats() ath10k: ignore configuring the incorrect board_id ath10k: fix incorrect txpower set by P2P_DEVICE interface drm/armada: Fix compile fail net: 3com: typhoon: typhoon_init_one: fix incorrect return values net: 3com: typhoon: typhoon_init_one: make return values more specific net: Allow IP_MULTICAST_IF to set index to L3 slave dmaengine: zx: set DMA_CYCLIC cap_mask bit PCI: Apply _HPX settings only to relevant devices RDS: RDMA: return appropriate error on rdma map failures e1000e: Separate signaling for link check/link up e1000e: Fix return value test e1000e: Fix error path in link detection PM / OPP: Add missing of_node_put(np) net/9p: Switch to wait_event_killable() fscrypt: lock mutex before checking for bounce page pool sched/rt: Simplify the IPI based RT balancing logic media: v4l2-ctrl: Fix flags field on Control events cx231xx-cards: fix NULL-deref on missing association descriptor media: rc: check for integer overflow media: Don't do DMA on stack for firmware upload in the AS102 driver powerpc/signal: Properly handle return value from uprobe_deny_signal() parisc: Fix validity check of pointer size argument in new CAS implementation ixgbe: Fix skb list corruption on Power systems fm10k: Use smp_rmb rather than read_barrier_depends i40evf: Use smp_rmb rather than read_barrier_depends ixgbevf: Use smp_rmb rather than read_barrier_depends igbvf: Use smp_rmb rather than read_barrier_depends igb: Use smp_rmb rather than read_barrier_depends i40e: Use smp_rmb rather than read_barrier_depends NFC: fix device-allocation error return IB/srp: Avoid that a cable pull can trigger a kernel crash IB/srpt: Do not accept invalid initiator port names libnvdimm, namespace: make 'resource' attribute only readable by root libnvdimm, namespace: fix label initialization to use valid seq numbers clk: ti: dra7-atl-clock: fix child-node lookups clk: ti: dra7-atl-clock: Fix of_node reference counting SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status KVM: SVM: obey guest PAT KVM: nVMX: set IDTR and GDTR limits when loading L1 host state target: Fix QUEUE_FULL + SCSI task attribute handling iscsi-target: Fix non-immediate TMR reference leak fs/9p: Compare qid.path in v9fs_test_inode fix a page leak in vhost_scsi_iov_to_sgl() error recovery ALSA: hda/realtek - Fix ALC700 family no sound issue ALSA: timer: Remove kernel warning at compat ioctl error paths ALSA: usb-audio: Add sanity checks in v2 clock parsers ALSA: usb-audio: Fix potential out-of-bound access at parsing SU ALSA: usb-audio: Add sanity checks to FE parser ALSA: pcm: update tstamp only if audio_tstamp changed ext4: fix interaction between i_size, fallocate, and delalloc after a crash ata: fixes kernel crash while tracing ata_eh_link_autopsy event rtlwifi: fix uninitialized rtlhal->last_suspend_sec time rtlwifi: rtl8192ee: Fix memory leak when loading firmware nfsd: deal with revoked delegations appropriately nfs: Fix ugly referral attributes NFS: Fix typo in nomigration mount option isofs: fix timestamps beyond 2027 bcache: check ca->alloc_thread initialized before wake up it eCryptfs: use after free in ecryptfs_release_messaging() nilfs2: fix race condition that causes file system corruption autofs: don't fail mount for transient error MIPS: BCM47XX: Fix LED inversion for WRT54GSv1 MIPS: Fix an n32 core file generation regset support regression dm: fix race between dm_get_from_kobject() and __dm_destroy() dm bufio: fix integer overflow when limiting maximum cache size ALSA: hda: Add Raven PCI ID MIPS: ralink: Fix typo in mt7628 pinmux function MIPS: ralink: Fix MT7628 pinmux ARM: 8721/1: mm: dump: check hardware RO bit for LPAE ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE x86/decoder: Add new TEST instruction pattern lib/mpi: call cond_resched() from mpi_powm() loop sched: Make resched_cpu() unconditional vsock: use new wait API for vsock_stream_sendmsg() AF_VSOCK: Shrink the area influenced by prepare_to_wait ipv6: only call ip6_route_dev_notify() once for NETDEV_UNREGISTER s390/disassembler: increase show_code buffer size s390/disassembler: add missing end marker for e7 table s390/runtime instrumention: fix possible memory corruption s390: fix transactional execution control register handling BACKPORT: time: Clean up CLOCK_MONOTONIC_RAW time handling BACKPORT: time: Fix CLOCK_MONOTONIC_RAW sub-nanosecond accounting UPSTREAM: arm64: vdso: fix clock_getres for 4GiB-aligned res f2fs: updates on 4.15-rc1 UPSTREAM: android: binder: fix type mismatch warning Linux 4.4.102 mm, hwpoison: fixup "mm: check the return value of lookup_page_ext for all call sites" Conflicts: fs/ext4/crypto_key.c mm/debug-pagealloc.c Change-Id: Ibe35d78bd0397f3ff2049e0a1dda20fcb06f2f75 Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
| | * ath10k: set CTS protection VDEV param only if VDEV is upBartosz Markowski2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit 7cfe0455ee1218add152e986b89b4bb8dbeafcdd ] The cts protection vdev parameter, in new QCA9377 TF2.0 firmware, requires bss peer to be created for the STATION vdev type. bss peer is being allocated by the firmware after vdev_start/_up commands. mac80211 may call the cts protection setup at any time, so the we needs to track the situation and defer the cts configuration to prevent firmware asserts, like below: [00]: 0x05020001 0x000015B3 0x0099ACE2 0x00955B31 [04]: 0x0099ACE2 0x00060730 0x00000004 0x00000000 [08]: 0x0044C754 0x00412C10 0x00000000 0x00409C54 [12]: 0x00000009 0x00000000 0x00952F6C 0x00952F77 [16]: 0x00952CC4 0x00910712 0x00000000 0x00000000 [20]: 0x4099ACE2 0x0040E858 0x00421254 0x004127F4 [24]: 0x8099B9B2 0x0040E8B8 0x00000000 0xC099ACE2 [28]: 0x800B75CB 0x0040E8F8 0x00000007 0x00005008 [32]: 0x809B048A 0x0040E958 0x00000010 0x00433B10 [36]: 0x809AFBBC 0x0040E9A8 0x0042BB74 0x0042BBBC [40]: 0x8091D252 0x0040E9C8 0x0042BBBC 0x00000001 [44]: 0x809FFA45 0x0040EA78 0x0043D3E4 0x0042C2C8 [48]: 0x809FCEF4 0x0040EA98 0x0043D3E4 0x00000001 [52]: 0x80911210 0x0040EAE8 0x00000010 0x004041D0 [56]: 0x80911154 0x0040EB28 0x00400000 0x00000000 Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats()Christian Lamparter2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit 097e46d2ae90265d1afe141ba6208ba598b79e01 ] ath10k_wmi_tlv_op_pull_fw_stats() uses tb = ath10k_wmi_tlv_parse_alloc(...) function, which allocates memory. If any of the three error-paths are taken, this tb needs to be freed. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * ath10k: ignore configuring the incorrect board_idRyan Hsu2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit d2e202c06ca42d353d95df12437740921a6d05b5 ] With command to get board_id from otp, in the case of following boot get otp board id result 0x00000000 board_id 0 chip_id 0 boot using board name 'bus=pci,bmi-chip-id=0,bmi-board-id=0" ... failed to fetch board data for bus=pci,bmi-chip-id=0,bmi-board-id=0 from ath10k/QCA6174/hw3.0/board-2.bin The invalid board_id=0 will be used as index to search in the board-2.bin. Ignore the case with board_id=0, as it means the otp is not carrying the board id information. Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * ath10k: fix incorrect txpower set by P2P_DEVICE interfaceRyan Hsu2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit 88407beb1b1462f706a1950a355fd086e1c450b6 ] Ath10k reports the phy capability that supports P2P_DEVICE interface. When we use the P2P supported wpa_supplicant to start connection, it'll create two interfaces, one is wlan0 (vdev_id=0) and one is P2P_DEVICE p2p-dev-wlan0 which is for p2p control channel (vdev_id=1). ath10k_pci mac vdev create 0 (add interface) type 2 subtype 0 ath10k_add_interface: vdev_id: 0, txpower: 0, bss_power: 0 ... ath10k_pci mac vdev create 1 (add interface) type 2 subtype 1 ath10k_add_interface: vdev_id: 1, txpower: 0, bss_power: 0 And the txpower in per vif bss_conf will only be set to valid tx power when the interface is assigned with channel_ctx. But this P2P_DEVICE interface will never be used for any connection, so that the uninitialized bss_conf.txpower=0 is assinged to the arvif->txpower when interface created. Since the txpower configuration is firmware per physical interface. So the smallest txpower of all vifs will be the one limit the tx power of the physical device, that causing the low txpower issue on other active interfaces. wlan0: Limiting TX power to 21 (24 - 3) dBm ath10k_pci mac vdev_id 0 txpower 21 ath10k_mac_txpower_recalc: vdev_id: 1, txpower: 0 ath10k_mac_txpower_recalc: vdev_id: 0, txpower: 21 ath10k_pci mac txpower 0 This issue only happens when we use the wpa_supplicant that supports P2P or if we use the iw tool to create the control P2P_DEVICE interface. Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * ath10k: fix memory leak in rx ring buffer allocationRakesh Pillai2017-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit f35a7f91f66af528b3ee1921de16bea31d347ab0 upstream. The rx ring buffers are added to a hash table if firmware support full rx reorder. If the full rx reorder support flag is not set before allocating the rx ring buffers, none of the buffers are added to the hash table. There is a race condition between rx ring refill and rx buffer replenish from napi poll. The interrupts are enabled in hif start, before the rx ring is refilled during init. We replenish buffers from napi poll due to the interrupts which get enabled after hif start. Hence before the entire rx ring is refilled during the init, the napi poll replenishes a few buffers in steps of 100 buffers per attempt. During this rx ring replenish from napi poll, the rx reorder flag has not been set due to which the replenished buffers are not added to the hash table Set the rx full reorder support flag before we allocate the rx ring buffer to avoid the memory leak. Signed-off-by: Rakesh Pillai <pillair@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Cc: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | ath10k: Define wlan hardware param for pdev suspend optionSarada Prasanna Garnayak2018-01-04
|/ / | | | | | | | | | | | | | | | | | | | | | | The pdev suspend configuration in the WLAN firmware is specific to the hardware version and bus interface. Add hardware param for each wlan hardware version and use the hardware param value during wlan pdev suspend to avoid the power leakage during system suspend. CRs-Fixed: 2164529 Change-Id: I020eaa43977d5726765dda1616715f519ad6e443 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | ath10k: enable gtk offload for the wcn3990 wlan moduleSarada Prasanna Garnayak2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Register ops to store the gtk rekey data from the wlan utility(wpa_supplicant) and configure the GTK offload during wow suspend. If the wlan module in suspend state with wowlan mode this feature adds support to prevent the device to wakeup from sleep state on gtk rekey failure in wlan firmware. CRs-Fixed: 2150959 Change-Id: I968acfe65bd082d37c855f89d4460a09c055ffd8 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | Merge "ath10k: Add phyerr event changes for HL1.0"Linux Build Service Account2017-11-30
|\ \
| * | ath10k: Add phyerr event changes for HL1.0Rakesh Pillai2017-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HL1.0 firmware sends phyerr_mask in the phyerr event, which needs to be used to determine the type of phyerr. Add the phyerr_mask parameters for HL1.0 in the phyerr wmi event. CRs-Fixed: 2150566 Change-Id: Ib2d5286fbf45d41229e68d817d65714d18811a4e Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | | ath10k: fix the potential buffer overflow in wow offloadSarada Prasanna Garnayak2017-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the arp and ns tuple for arp-ns tlv cmd and pass the size of IP address and wlan net dev name during mem copy and comparison. CRs-Fixed: 2149966 Change-Id: I9457af4578c70f876c3a58e3d8c655dcaa476e07 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | | ath10k: add support for wowlan offload for wcn3990 WLAN moduleSarada Prasanna Garnayak2017-11-23
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define data structure and callback for the ARP and NS offload for the ath10k wcn3990 WLAN module. Configure the ARP offload parameter and enable ARP offload request flag for each vdev if the vdev in station mode. This feature adds support to wakeup the device from sleep state through wowlan event if the ARP request pattern matched with pattern configured by WLAN module during wow suspend. CRs-Fixed: 2146265 Change-Id: I54c3491493ad46a7db2adbf71ae1668cf9a88e51 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | ath10k: Enable WoWLAN for the wcn3990 snoc wlan moduleSarada Prasanna Garnayak2017-11-22
| | | | | | | | | | | | | | | | | | | | Register snoc bus layer suspend/resume PM ops and configure the wakeup source for the device to adds support for WOWLAN feature for the wcn3990 snoc wlan module. CRs-Fixed: 2139961 Change-Id: Ic43414b965aee27564f8bbbe237c706f5262c2e4 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | ath10k: configure the vdev listen interval before wow suspendSarada Prasanna Garnayak2017-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the WLAN WOWLAN mode the default listen interval needs to be configured for each vdev to receive and process the WLAN WOW pattern match found by the WLAN firmware. Improper listen interval configuration for the vdev leads to WOW pattern match missing by the WLAN module and a result WLAN module failed to wakeup the target as per the WOW pattern configured during WOWLAN suspend method. CRs-Fixed: 2141933 Change-Id: I4b4e03c134ecea328bbda55748b1dd633697167a Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | ath10k: check the pipe credit update enabled flag before setSarada Prasanna Garnayak2017-11-17
| | | | | | | | | | | | | | | | | | | | Check the credit update flag has enabled for the pipe before setting the flag for credit report update request on the wcn3990 WLAN module. CRs-Fixed: 2141924 Change-Id: Ic628fa49934c110b7abccefb45a2a354dc462791 Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | wil6210: drop RX probe reponses with low SNRDedy Lansky2017-11-08
| | | | | | | | | | | | | | | | FW now reports SNR for RX management frames. Drop probe responses with SNR lower than the configured threshold. Change-Id: Ife1863b07aebe5cb6097420290c0c10b590c2da1 Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
* | wil6210: add sysfs for setting connect SNR thresholdDedy Lansky2017-11-08
| | | | | | | | | | | | | | | | snr_thresh sysfs can be used to set omni and direct SNR threshold for connection. Change-Id: I091a6b61a1a4cb98e0e8c0f70b2fff4d22486e61 Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
* | Merge "wil6210: missing length check in wil_cfg80211_mgmt_tx"Linux Build Service Account2017-11-05
|\ \
| * | wil6210: missing length check in wil_cfg80211_mgmt_txLior David2017-11-03
| | | | | | | | | | | | | | | | | | | | | | | | Add a length check in wil_cfg80211_mgmt_tx to detect unsigned integer overflow. Change-Id: I37f988481433a2e1238831980715aef32aa89a85 Signed-off-by: Lior David <liord@codeaurora.org>
| * | wil6210: missing length check in wmi_set_ieLior David2017-11-03
| | | | | | | | | | | | | | | | | | | | | | | | Add a length check in wmi_set_ie to detect unsigned integer overflow. Change-Id: Id1ec6a6218f3fe6e00cc3f9a8e674f8f843273f2 Signed-off-by: Lior David <liord@codeaurora.org>
| * | wil6210: add block size checks during FW loadLior David2017-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | When loading FW from file add block size checks to ensure a corrupted FW file will not cause the driver to write outside the device memory. Change-Id: I6d7342cd33b2c47b701bcca4ee3cd84febbc56a2 Signed-off-by: Lior David <liord@codeaurora.org>
| * | wil6210: fix length check in __wmi_sendLior David2017-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current length check: sizeof(cmd) + len > r->entry_size will allow very large values of len (> U16_MAX - sizeof(cmd)) and can cause a buffer overflow. Fix the check to cover this case. In addition, ensure the mailbox entry_size is not too small, since this can also bypass the above check. Change-Id: Iecb4f53ef05da0e015bc954b57b0e40debb7c8b7 Signed-off-by: Lior David <liord@codeaurora.org>
* | | ath: Disable non-20 mhz 2G world regulatory channelsRajeev Kumar Sirasanagandla2017-11-01
|/ / | | | | | | | | | | | | | | | | | | | | The minimum bandwidth supported is 5 MHZ. Kernel API wiphy_apply_custom_regulatory can enable channels 12/13 with BW 5/10 even for reg rule 2402-2472. Circumvent the issue by doing a check in the driver. CRs-Fixed: 2136273 Change-Id: I296e45d142c38a83c90deb743e992eb1a7743feb Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
* | Merge "ath10k: Add radar detect width for wcn3990 interface combination"Linux Build Service Account2017-10-26
|\ \
| * | ath10k: Add radar detect width for wcn3990 interface combinationRakesh Pillai2017-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | radar detect widths were not added for wcn3990 interface combinations. Add the radar detect widths for wcn3990 interface combinations. CRs-Fixed: 2122264 Change-Id: If212aa238944078541168fa633db64b8bb15bf44 Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | | ath10k: increase the allowed num of tx pending pktsRakesh Pillai2017-10-24
|/ / | | | | | | | | | | | | | | | | | | | | | | HL1.0 has more number of descriptors and hence we can queue more packets for tx. Allow a higher number of tx pending packets for better throughput in concurrency cases. CRs-Fixed: 2104072 Change-Id: I8dd98cee04200fbeccf655dcb1d982d037077101 Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
* | wil6210: potential buffer overflow in wmi_evt_aoa_measLior David2017-10-07
| | | | | | | | | | | | | | | | | | | | The code in wmi_evt_aoa_meas can potentially overflow a data buffer if the len parameter is smaller than offsetof(struct wmi_aoa_meas_event, meas_data). Add protection against this case. Change-Id: I3f86f231e0c6b5ac54abbb9865cba0cbbd8d0448 Signed-off-by: Lior David <liord@codeaurora.org>
* | Merge "wil6210: support AOA in FTM session"Linux Build Service Account2017-10-05
|\ \
| * | wil6210: support AOA in FTM sessionLior David2017-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for running AOA measurement as part of an FTM session. In order to simplify the implementation both in the driver and FW, AOA measurement is reported using the same vendor event and not using QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AOA_MEAS. This way we can also report the antenna array mask which was missing from the vendor commands API for AOA inside FTM session. Change-Id: I3962487b2e6fd8e56e6e3953c86fd95abe6a9aa0 Signed-off-by: Lior David <liord@codeaurora.org>
* | | Merge "ath10k: Vote for hardware resources for WCN3990"Linux Build Service Account2017-10-05
|\ \ \
| * | | ath10k: Vote for hardware resources for WCN3990Govind Singh2017-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During recovery, there are cases where in WLAN driver running on APPS can access CE register causing exceptions because of hardware in reset state. Fix the issue by not resetting the hardware in WLAN firmware during recovery but halt the CE and MAC and reset the hardware only when reinitialization starts. For this to work, wcn3990 ath10k driver needs to keep the clock and regulator votes so that WLAN hardware will not go into weird state because of not resetting it but cutting the resources. Change-Id: I765fd4aaa2fea6f41f4760564b8d1cb8c3d9651b Signed-off-by: Govind Singh <govinds@codeaurora.org>