1. 06 Sep, 2018 8 commits
    • Anilkumar Kolli's avatar
      ath10k: add extended per sta tx statistics support · a904417f
      Anilkumar Kolli authored
      This patch adds per station tx statistics support.
      
      Per station tx stats include
       - pkts/bytes transmitted at all possible rates(mcs/nss/bw/gi).
       - ACK fails count
       - ampdu bytes/pkts transmitted at all possible rates(mcs/nss/bw/gi).
       - BA fails count
      
      Tested on QCA9984/QCA4019/QCA988x
      Firmware: 10.4-3.5.3-00057
      	  10.2.4-1.0-00037
      Signed-off-by: default avatarAnilkumar Kolli <akolli@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      a904417f
    • Anilkumar Kolli's avatar
      ath10k: add debugfs entry to enable extended tx stats · 348cd95c
      Anilkumar Kolli authored
      This patch adds debugfs entry to enable/disable extended
      tx statistics. Extended tx statistics are from peer stats
      feature.
      Signed-off-by: default avatarAnilkumar Kolli <akolli@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      348cd95c
    • Anilkumar Kolli's avatar
      ath10k: get the legacy rate index to update the txrate table · 0189dbd7
      Anilkumar Kolli authored
      Get the legacy rate index to update the pkts/bytes counter
      against each possible tx rate.
      Signed-off-by: default avatarAnilkumar Kolli <akolli@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      0189dbd7
    • Gustavo A. R. Silva's avatar
      wil6210: fix unsigned cid comparison with >= 0 · 49925f24
      Gustavo A. R. Silva authored
      The comparison of cid >= 0 is always true because cid is of type u8
      (8 bits, unsigned).
      
      Fix this by removing such comparison and updating the type of
      variable cid to u8 in the caller function.
      
      Addresses-Coverity-ID: 1473079 ("Unsigned compared against 0")
      Fixes: b9010f10 ("wil6210: add FT roam support for AP and station")
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      49925f24
    • Govind Singh's avatar
      ath10k: enable pktlog for WCN3990 target · 713358c3
      Govind Singh authored
      WCN3990 target uses separate htc service for pktlog.
      Add pktlog service request and support for pktlog
      rx path handling.
      
      Testing:
          Tested on WCN3990 and QCA6174 HW.
          Tested FW: WLAN.HL.2.0-01192-QCAHLSWMTPLZ-1,
                     WLAN.RM.4.4.1-00109-QCARMSWPZ-1
      Signed-off-by: default avatarGovind Singh <govinds@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      713358c3
    • Govind Singh's avatar
      ath10k: introduce CE_ATTR_POLL attribute for polling pipe · 9abcb937
      Govind Singh authored
      Existing copy engine interrupt enable logic assumes that last
      CE is using polling mode and due to this interrupt for last copy engine
      are always disabled. WCN3990 uses last CE for pktlog and
      interrupt remains disabled with existing logic.
      
      To mitigate this issue, introduce CE_ATTR_POLL flag and control
      the interrupt based on the flag which can be set in ce_attr.
      
      Testing:
          Tested on WCN3990 and QCA6174 HW.
          Tested FW: WLAN.HL.2.0-01192-QCAHLSWMTPLZ-1,
                     WLAN.RM.4.4.1-00109-QCARMSWPZ-1
      Signed-off-by: default avatarGovind Singh <govinds@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      9abcb937
    • Sathishkumar Muruganandam's avatar
      ath10k: support extended board data download for dual-band QCA9984 · 31324d17
      Sathishkumar Muruganandam authored
      To support dual-band variant of QCA9984, new extended board data (eBDF)
      is introduced since existing board data ran out of space.
      
      Below is the brief implementation & design detail,
      ----------------------------------------------------
      
      1. New OTP changes to inform eBDF support in existing OTP download to
      fetch board ID and chip ID. This is backward compatible and older
      card sends 0 by default for eBDF support bit (bit 18 of OTP response) we
      check in ath10k driver.
      
      2. If eBDF is supported, then we need to fetch eBDF ID which is bundled
      in downloaded board data. So again OTP is executed for knowing the eBDF ID.
      This is done once we set 'board_data_initialized' bit. If eBDF ID
      returned is zero, we continue booting with previous board data downloaded.
      
      3. Based on the eBDF ID fetched, ath10k driver tries to download the
      extended board data to a new offset ahead of already downloaded board
      data address.
      
      4. A new BD IE type, ATH10K_BD_IE_BOARD_EXT is added to differentiate in
      bundling eBDF separately in board-2.bin and also to parse through
      board bundle for eBDF download in ath10k boot.
      
      5. If eBDF is not present in the board-2.bin bundle or when board ID is
      zero, we do a fallback boot to "eboard.bin" in the same QCA9984/hw1.0 dir.
      This is same as done to existing "board.bin" if board ID is not present
      in board-2.bin bundle.
      
      Current design is that eBDF size will be 2KB and eBDF ID will be
      byte value.
      
      Tested the above changes with dual-band variant of QCA9984 card. OTP
      update needed for the test will be part of next FW release 10.4-3.6-xxxx.
      
      Below are the logs with ath10k BOOT debugs enabled.
      
      First OTP response :
      ---------------------
      ..
      boot upload otp to 0x1234 len 9478 for board id
      boot get otp board id result 0x00040400 board_id 1 chip_id 0 ext_bid_support 1
      ..
      
      Second OTP response :
      ---------------------
      ..
      boot upload otp to 0x1234 len 9478 for ext board id
      boot get otp ext board id result 0x00000005 ext_board_id 5
      boot using eboard name 'bus=pci,bmi-chip-id=0,bmi-eboard-id=5'
      ..
      
      Extended board data download:
      ------------------------------
      ..
      board name
      00000000: 62 75 73 3d 70 63 69 2c 62 6d 69 2d 63 68 69 70  bus=pci,bmi-chip
      00000010: 2d 69 64 3d 30 2c 62 6d 69 2d 65 62 6f 61 72 64  -id=0,bmi-eboard
      00000020: 2d 69 64 3d 35                                   -id=5
      boot found match for name 'bus=pci,bmi-chip-id=0,bmi-eboard-id=5'
      boot found eboard data for 'bus=pci,bmi-chip-id=0,bmi-eboard-id=5'
      using board api 2
      boot writing ext board data to addr 0xc3000
      ..
      
      Fallback Extended board data download from "eboard.bin":
      ---------------------------------------------------------
      ..
      board name
      00000000: 62 75 73 3d 70 63 69 2c 62 6d 69 2d 63 68 69 70  bus=pci,bmi-chip
      00000010: 2d 69 64 3d 30 2c 62 6d 69 2d 62 6f 61 72 64 2d  -id=0,bmi-board-
      00000020: 69 64 3d 31 30                                   id=10
      failed to fetch board data for bus=pci,bmi-chip-id=0,bmi-eboard-id=5 from ath10k/QCA9984/hw1.0/board-2.bin
      boot fw request 'ath10k/QCA9984/hw1.0/eboard.bin': 0
      using board api 1
      boot writing ext board data to addr 0xc3000
      ..
      Signed-off-by: default avatarSathishkumar Muruganandam <murugana@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      31324d17
    • Sathishkumar Muruganandam's avatar
      ath10k: refactoring needed for extended board data download · 5849ed48
      Sathishkumar Muruganandam authored
      Just moving functions down in the file, no functional changes.
      Signed-off-by: default avatarSathishkumar Muruganandam <murugana@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      5849ed48
  2. 03 Sep, 2018 4 commits
  3. 28 Aug, 2018 18 commits
  4. 27 Aug, 2018 2 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 050cdc6c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) ICE, E1000, IGB, IXGBE, and I40E bug fixes from the Intel folks.
      
       2) Better fix for AB-BA deadlock in packet scheduler code, from Cong
          Wang.
      
       3) bpf sockmap fixes (zero sized key handling, etc.) from Daniel
          Borkmann.
      
       4) Send zero IPID in TCP resets and SYN-RECV state ACKs, to prevent
          attackers using it as a side-channel. From Eric Dumazet.
      
       5) Memory leak in mediatek bluetooth driver, from Gustavo A. R. Silva.
      
       6) Hook up rt->dst.input of ipv6 anycast routes properly, from Hangbin
          Liu.
      
       7) hns and hns3 bug fixes from Huazhong Tan.
      
       8) Fix RIF leak in mlxsw driver, from Ido Schimmel.
      
       9) iova range check fix in vhost, from Jason Wang.
      
      10) Fix hang in do_tcp_sendpages() with tls, from John Fastabend.
      
      11) More r8152 chips need to disable RX aggregation, from Kai-Heng Feng.
      
      12) Memory exposure in TCA_U32_SEL handling, from Kees Cook.
      
      13) TCP BBR congestion control fixes from Kevin Yang.
      
      14) hv_netvsc, ignore non-PCI devices, from Stephen Hemminger.
      
      15) qed driver fixes from Tomer Tayar.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (77 commits)
        net: sched: Fix memory exposure from short TCA_U32_SEL
        qed: fix spelling mistake "comparsion" -> "comparison"
        vhost: correctly check the iova range when waking virtqueue
        qlge: Fix netdev features configuration.
        net: macb: do not disable MDIO bus at open/close time
        Revert "net: stmmac: fix build failure due to missing COMMON_CLK dependency"
        net: macb: Fix regression breaking non-MDIO fixed-link PHYs
        mlxsw: spectrum_switchdev: Do not leak RIFs when removing bridge
        i40e: fix condition of WARN_ONCE for stat strings
        i40e: Fix for Tx timeouts when interface is brought up if DCB is enabled
        ixgbe: fix driver behaviour after issuing VFLR
        ixgbe: Prevent unsupported configurations with XDP
        ixgbe: Replace GFP_ATOMIC with GFP_KERNEL
        igb: Replace mdelay() with msleep() in igb_integrated_phy_loopback()
        igb: Replace GFP_ATOMIC with GFP_KERNEL in igb_sw_init()
        igb: Use an advanced ctx descriptor for launchtime
        e1000: ensure to free old tx/rx rings in set_ringparam()
        e1000: check on netif_running() before calling e1000_up()
        ixgb: use dma_zalloc_coherent instead of allocator/memset
        ice: Trivial formatting fixes
        ...
      050cdc6c
    • Jens Axboe's avatar
      Fix up libata MAINTAINERS entry · 908946c4
      Jens Axboe authored
      The email was botched in one entry, and I also forgot to update the
      location of the git tree. It'll be under the linux-block umbrella, just
      with different branches.
      Reported-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Fixes: 7634ccd2 ("libata: maintainership update")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      908946c4
  5. 26 Aug, 2018 8 commits
    • Kees Cook's avatar
      net: sched: Fix memory exposure from short TCA_U32_SEL · 98c8f125
      Kees Cook authored
      Via u32_change(), TCA_U32_SEL has an unspecified type in the netlink
      policy, so max length isn't enforced, only minimum. This means nkeys
      (from userspace) was being trusted without checking the actual size of
      nla_len(), which could lead to a memory over-read, and ultimately an
      exposure via a call to u32_dump(). Reachability is CAP_NET_ADMIN within
      a namespace.
      Reported-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: Cong Wang <xiyou.wangcong@gmail.com>
      Cc: Jiri Pirko <jiri@resnulli.us>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      98c8f125
    • Linus Torvalds's avatar
      Linux 4.19-rc1 · 5b394b2d
      Linus Torvalds authored
      5b394b2d
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b933d6eb
      Linus Torvalds authored
      Pull timer update from Thomas Gleixner:
       "New defines for the compat time* types so they can be shared between
        32bit and 64bit builds. Not used yet, but merging them now allows the
        actual conversions to be merged through different maintainer trees
        without dependencies
      
        We still have compat interfaces for 32bit on 64bit even with the new
        2038 safe timespec/val variants because pointer size is different. And
        for the old style timespec/val interfaces we need yet another 'compat'
        interface for both 32bit native and 32bit on 64bit"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        y2038: Provide aliases for compat helpers
      b933d6eb
    • Linus Torvalds's avatar
      Merge branch 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax · aba16dc5
      Linus Torvalds authored
      Pull IDA updates from Matthew Wilcox:
       "A better IDA API:
      
            id = ida_alloc(ida, GFP_xxx);
            ida_free(ida, id);
      
        rather than the cumbersome ida_simple_get(), ida_simple_remove().
      
        The new IDA API is similar to ida_simple_get() but better named.  The
        internal restructuring of the IDA code removes the bitmap
        preallocation nonsense.
      
        I hope the net -200 lines of code is convincing"
      
      * 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax: (29 commits)
        ida: Change ida_get_new_above to return the id
        ida: Remove old API
        test_ida: check_ida_destroy and check_ida_alloc
        test_ida: Convert check_ida_conv to new API
        test_ida: Move ida_check_max
        test_ida: Move ida_check_leaf
        idr-test: Convert ida_check_nomem to new API
        ida: Start new test_ida module
        target/iscsi: Allocate session IDs from an IDA
        iscsi target: fix session creation failure handling
        drm/vmwgfx: Convert to new IDA API
        dmaengine: Convert to new IDA API
        ppc: Convert vas ID allocation to new IDA API
        media: Convert entity ID allocation to new IDA API
        ppc: Convert mmu context allocation to new IDA API
        Convert net_namespace to new IDA API
        cb710: Convert to new IDA API
        rsxx: Convert to new IDA API
        osd: Convert to new IDA API
        sd: Convert to new IDA API
        ...
      aba16dc5
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugins-v4.19-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c4726e77
      Linus Torvalds authored
      Pull gcc plugin fix from Kees Cook:
       "Lift gcc test into Kconfig. This is for better behavior when the
        kernel is built with Clang, reported by Stefan Agner"
      
      * tag 'gcc-plugins-v4.19-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: Disable when building under Clang
      c4726e77
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d207ea8e
      Linus Torvalds authored
      Pull perf updates from Thomas Gleixner:
       "Kernel:
         - Improve kallsyms coverage
         - Add x86 entry trampolines to kcore
         - Fix ARM SPE handling
         - Correct PPC event post processing
      
        Tools:
         - Make the build system more robust
         - Small fixes and enhancements all over the place
         - Update kernel ABI header copies
         - Preparatory work for converting libtraceevnt to a shared library
         - License cleanups"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (100 commits)
        tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy'
        tools arch x86: Update tools's copy of cpufeatures.h
        perf python: Fix pyrf_evlist__read_on_cpu() interface
        perf mmap: Store real cpu number in 'struct perf_mmap'
        perf tools: Remove ext from struct kmod_path
        perf tools: Add gzip_is_compressed function
        perf tools: Add lzma_is_compressed function
        perf tools: Add is_compressed callback to compressions array
        perf tools: Move the temp file processing into decompress_kmodule
        perf tools: Use compression id in decompress_kmodule()
        perf tools: Store compression id into struct dso
        perf tools: Add compression id into 'struct kmod_path'
        perf tools: Make is_supported_compression() static
        perf tools: Make decompress_to_file() function static
        perf tools: Get rid of dso__needs_decompress() call in __open_dso()
        perf tools: Get rid of dso__needs_decompress() call in symbol__disassemble()
        perf tools: Get rid of dso__needs_decompress() call in read_object_code()
        tools lib traceevent: Change to SPDX License format
        perf llvm: Allow passing options to llc in addition to clang
        perf parser: Improve error message for PMU address filters
        ...
      d207ea8e
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2a8a2b7c
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
      
       - Correct the L1TF fallout on 32bit and the off by one in the 'too much
         RAM for protection' calculation.
      
       - Add a helpful kernel message for the 'too much RAM' case
      
       - Unbreak the VDSO in case that the compiler desides to use indirect
         jumps/calls and emits retpolines which cannot be resolved because the
         kernel uses its own thunks, which does not work for the VDSO. Make it
         use the builtin thunks.
      
       - Re-export start_thread() which was unexported when the 32/64bit
         implementation was unified. start_thread() is required by modular
         binfmt handlers.
      
       - Trivial cleanups
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/speculation/l1tf: Suggest what to do on systems with too much RAM
        x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM
        x86/kvm/vmx: Remove duplicate l1d flush definitions
        x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit
        x86/process: Re-export start_thread()
        x86/mce: Add notifier_block forward declaration
        x86/vdso: Fix vDSO build if a retpoline is emitted
      2a8a2b7c
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · de375035
      Linus Torvalds authored
      Pull irq update from Thomas Gleixner:
       "A small set of updats/fixes for the irq subsystem:
      
         - Allow GICv3 interrupts to be configured as wake-up sources to
           enable wakeup from suspend
      
         - Make the error handling of the STM32 irqchip init function work
      
         - A set of small cleanups and improvements"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3: Allow interrupt to be configured as wake-up sources
        irqchip/tango: Set irq handler and data in one go
        dt-bindings: irqchip: renesas-irqc: Document r8a774a1 support
        irqchip/s3c24xx: Remove unneeded comparison of unsigned long to 0
        irqchip/stm32: Fix init error handling
        irqchip/bcm7038-l1: Hide cpu offline callback when building for !SMP
      de375035