1. May 06, 2019
    • Michael Chan's avatar
      bnxt_en: Update firmware interface to 1.10.0.69. · 4a50ddc2
      Michael Chan authored
      
      
      PTP API updates for 57500 chips, new RX port stats counters and other
      miscellaneous updates.
      
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4a50ddc2
    • David S. Miller's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 9073989a
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2019-05-04
      
      This series contains updates to the ice driver only.
      
      Jesse updated the driver to make more functions consistent in their use
      of a local variable for vsi->back.  Updates the driver to use bit fields
      when possible to avoid wasting lots of storage space to store single bit
      values.  Optimized the driver to be more memory efficient by moving
      structure members around that are not in are hot path.
      
      Michal updates the driver to disable the VF if malicious device driver
      (MDD) event is detected by the hardware.  Adds checks to validate the
      messages coming from the VF driver.  Tightens up the sniffing of the
      driver so that transmit traffic so that VF's cannot see what is on other
      VSIs.
      
      Tony fixed the driver so that receive stripping state won't change every
      time transmit insertion is changed.  Cleanup the __always_unused
      attribute, now that the variable is being used.  Fixed the function
      which evaluates setting of features to ensure that can evaluate and set
      multiple features in a single function call.
      
      Akeem fixes the driver so that we do not attempt to remove a VLAN filter
      that does not exist.  Adds support for adding a ethertype based filter
      rule on VSI and describe it in a very long run-on sentence. :-)
      
      Bruce cleans up static analysis warnings by removing a local variable
      initialization that is not needed.
      
      Brett makes the allocate/deallocate more consistent in all the driver
      flows for VSI q_vectors.  In addition, makes setting/getting coalesce
      settings more consistent throughout the driver.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9073989a
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · ba6223fc
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2019-05-04
      
      This series contains updates to i40e only.
      
      Grzegorz fixes a bug with promiscuous mode not being kept when the VF
      switched to a new VLAN.  Fixed a typo in the link mode code, by using
      the correct define.  Fixed truncation issue, which changed an function
      argument to a smaller value that should have been a larger value.
      
      Aleksandr adds support for new x710 devices and the speeds they support.
      
      Sergey adds a check for the number of vectors against the number of MSIx
      vectors to ensure one does not exceed the other.
      
      Martyna adds additional input validation on VF messages handled by the
      PF.  Fixed potential memory leaks in the driver where the error paths
      were not freeing allocated memory.
      
      Maciej reverts the double ShadowRAM checksum calculation change because
      issues were found in the NVM downgrade situation.
      
      Gustavo Silva changes the i40e driver to use struct_size() in kzalloc()
      calls, to avoid type mistakes.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ba6223fc
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · 1ffad6d1
      David S. Miller authored
      
      
      Pablo Neira Ayuso says:
      
      ===================
      Netfilter updates for net-next
      
      The following batch contains Netfilter updates for net-next, they are:
      
      1) Move nft_expr_clone() to nft_dynset, from Paul Gortmaker.
      
      2) Do not include module.h from net/netfilter/nf_tables.h,
         also from Paul.
      
      3) Restrict conntrack sysctl entries to boolean, from Tonghao Zhang.
      
      4) Several patches to add infrastructure to autoload NAT helper
         modules from their respective conntrack helper, this also includes
         the first client of this code in OVS, patches from Flavio Leitner.
      
      5) Add support to match for conntrack ID, from Brett Mastbergen.
      
      6) Spelling fix in connlabel, from Colin Ian King.
      
      7) Use struct_size() from hashlimit, from Gustavo A. R. Silva.
      
      8) Add optimized version of nf_inet_addr_mask(), from Li RongQing.
      ===================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1ffad6d1
    • Li RongQing's avatar
      netfilter: slightly optimize nf_inet_addr_mask · 522e4077
      Li RongQing authored
      
      
      using 64bit computation to slightly optimize nf_inet_addr_mask
      
      Signed-off-by: default avatarLi RongQing <lirongqing@baidu.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      522e4077
    • Gustavo A. R. Silva's avatar
      netfilter: xt_hashlimit: use struct_size() helper · eabb4782
      Gustavo A. R. Silva authored
      
      
      Make use of the struct_size() helper instead of an open-coded version
      in order to avoid any potential type mistakes, in particular in the
      context in which this code is being used.
      
      So, replace code of the following form:
      
      sizeof(struct xt_hashlimit_htable) + sizeof(struct hlist_head) * size
      
      with:
      
      struct_size(hinfo, hash, size)
      
      This code was detected with the help of Coccinelle.
      
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      eabb4782
    • David S. Miller's avatar
      Merge branch 'for-upstream' of... · 19ab5f40
      David S. Miller authored
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
      
      
      
      Johan Hedberg says:
      
      ====================
      pull request: bluetooth-next 2019-05-05
      
      Here's one more bluetooth-next pull request for 5.2:
      
       - Fixed Command Complete event handling check for matching opcode
       - Added support for Qualcomm WCN3998 controller, along with DT bindings
       - Added default address for Broadcom BCM2076B1 controllers
      
      Please let me know if there are any issues pulling. Thanks.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      19ab5f40
    • Heiner Kallweit's avatar
      r8169: speed up rtl_loop_wait · d1f5050b
      Heiner Kallweit authored
      
      
      When testing I figured out that most operations signal finish even
      before we trigger the first delay. Seems like PCI(e) access and
      memory barriers typically add enough latency. Therefore move the
      first delay after the first check.
      
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d1f5050b
    • Heiner Kallweit's avatar
      r8169: make use of phy_set_asym_pause · 9cf9b84c
      Heiner Kallweit authored
      
      
      phy_probe() takes care that all supported modes are advertised,
      in addition use phy_support_asym_pause() to advertise pause modes.
      This way we don't have to deal with phylib internals directly.
      
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9cf9b84c
    • YueHaibing's avatar
      net: ll_temac: Make some functions static · 6e05b833
      YueHaibing authored
      
      
      Fix sparse warnings:
      
      drivers/net/ethernet/xilinx/ll_temac_main.c:66:5: warning: symbol '_temac_ior_be' was not declared. Should it be static?
      drivers/net/ethernet/xilinx/ll_temac_main.c:71:6: warning: symbol '_temac_iow_be' was not declared. Should it be static?
      drivers/net/ethernet/xilinx/ll_temac_main.c:76:5: warning: symbol '_temac_ior_le' was not declared. Should it be static?
      drivers/net/ethernet/xilinx/ll_temac_main.c:81:6: warning: symbol '_temac_iow_le' was not declared. Should it be static?
      drivers/net/ethernet/xilinx/ll_temac_main.c:648:6: warning: symbol 'ptr_to_txbd' was not declared. Should it be static?
      drivers/net/ethernet/xilinx/ll_temac_main.c:654:6: warning: symbol 'ptr_from_txbd' was not declared. Should it be static?
      
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6e05b833
    • YueHaibing's avatar
      net: aquantia: Make aq_ndev_driver_name static · 44bec4b3
      YueHaibing authored
      
      
      Fix sparse warning:
      
      drivers/net/ethernet/aquantia/atlantic/aq_main.c:26:12:
       warning: symbol 'aq_ndev_driver_name' was not declared. Should it be static?
      
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      44bec4b3
    • YueHaibing's avatar
      netdevsim: Make nsim_num_vf static · 69bbbdc5
      YueHaibing authored
      
      
      Fix sparse warning:
      
      drivers/net/netdevsim/bus.c:253:5: warning:
       symbol 'nsim_num_vf' was not declared. Should it be static?
      
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Acked-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      69bbbdc5
    • YueHaibing's avatar
      net: mvpp2: cls: Remove set but not used variable 'act' · c424d224
      YueHaibing authored
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c: In function 'mvpp2_cls_c2_build_match':
      drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c:1159:28: warning:
       variable 'act' set but not used [-Wunused-but-set-variable]
      
      It is never used since introduction in
      commit 90b509b3
      
       ("net: mvpp2: cls: Add Classification offload support")
      
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c424d224
    • Johannes Berg's avatar
      um: vector netdev: adjust to xmit_more API change · aa2ecb7c
      Johannes Berg authored
      Replace skb->xmit_more usage by netdev_xmit_more().
      
      Fixes: 4f296ede
      
       ("drivers: net: aurora: use netdev_xmit_more helper")
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aa2ecb7c
    • David S. Miller's avatar
      Merge branch 'net-extend-indirect-calls-helper-usage' · c90d1e4b
      David S. Miller authored
      Paolo Abeni says:
      
      ====================
      net: extend indirect calls helper usage
      
      This series applies the indirect calls helper introduced with commit
      283c16a2
      
       ("indirect call wrappers: helpers to speed-up indirect
      calls of builtin") to more hooks inside the network stack.
      
      Overall this avoids up to 4 indirect calls for each RX packets,
      giving small but measurable gain TCP_RR workloads and 5% under UDP
      flood.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c90d1e4b
    • Paolo Abeni's avatar
      net: use indirect calls helpers at the socket layer · 8c3c447b
      Paolo Abeni authored
      
      
      This avoids an indirect call per {send,recv}msg syscall in
      the common (IPv6 or IPv4 socket) case.
      
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c3c447b
    • Paolo Abeni's avatar
      net: use indirect calls helpers at early demux stage · 97ff7ffb
      Paolo Abeni authored
      
      
      So that we avoid another indirect call per RX packet, if
      early demux is enabled.
      
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      97ff7ffb
    • Paolo Abeni's avatar
      net: use indirect calls helpers for L3 handler hooks · 0e219ae4
      Paolo Abeni authored
      
      
      So that we avoid another indirect call per RX packet in the common
      case.
      
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0e219ae4
    • Paolo Abeni's avatar
      net: use indirect calls helpers for ptype hook · f5737cba
      Paolo Abeni authored
      
      
      This avoids an indirect call per RX IPv6/IPv4 packet.
      Note that we don't want to use the indirect calls helper for taps.
      
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f5737cba
    • Matthias Kaehlcke's avatar
      Bluetooth: hci_qca: Rename STATE_<flags> to QCA_<flags> · 62a91990
      Matthias Kaehlcke authored
      
      
      Rename STATE_IN_BAND_SLEEP_ENABLED to QCA_IBS_ENABLED. The constant
      represents a flag (multiple flags can be set at once), not a unique
      state of the controller or driver.
      
      Also make the flag an enum value instead of a pre-processor constant
      (more flags will be added to the enum group by another patch).
      
      Signed-off-by: default avatarMatthias Kaehlcke <mka@chromium.org>
      Reviewed-by: default avatarBalakrishna Godavarthi <bgodavar@codeaurora.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      62a91990
    • Dan Carpenter's avatar
      net: ll_temac: remove an unnecessary condition · b52d031b
      Dan Carpenter authored
      
      
      The "pdata->mdio_bus_id" is unsigned so this condition is always true.
      This patch just removes it.
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b52d031b
    • Dan Carpenter's avatar
      net: ll_temac: Fix an NULL vs IS_ERR() check in temac_open() · 1ffc4b7c
      Dan Carpenter authored
      The phy_connect() function doesn't return NULL pointers.  It returns
      error pointers on error, so I have updated the check.
      
      Fixes: 8425c41d
      
       ("net: ll_temac: Extend support to non-device-tree platforms")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1ffc4b7c
    • João Paulo Rechi Vita's avatar
      Bluetooth: Ignore CC events not matching the last HCI command · f80c5dad
      João Paulo Rechi Vita authored
      
      
      This commit makes the kernel not send the next queued HCI command until
      a command complete arrives for the last HCI command sent to the
      controller. This change avoids a problem with some buggy controllers
      (seen on two SKUs of QCA9377) that send an extra command complete event
      for the previous command after the kernel had already sent a new HCI
      command to the controller.
      
      The problem was reproduced when starting an active scanning procedure,
      where an extra command complete event arrives for the LE_SET_RANDOM_ADDR
      command. When this happends the kernel ends up not processing the
      command complete for the following commmand, LE_SET_SCAN_PARAM, and
      ultimately behaving as if a passive scanning procedure was being
      performed, when in fact controller is performing an active scanning
      procedure. This makes it impossible to discover BLE devices as no device
      found events are sent to userspace.
      
      This problem is reproducible on 100% of the attempts on the affected
      controllers. The extra command complete event can be seen at timestamp
      27.420131 on the btmon logs bellow.
      
      Bluetooth monitor ver 5.50
      = Note: Linux version 5.0.0+ (x86_64)                                  0.352340
      = Note: Bluetooth subsystem version 2.22                               0.352343
      = New Index: 80:C5:F2:8F:87:84 (Primary,USB,hci0)               [hci0] 0.352344
      = Open Index: 80:C5:F2:8F:87:84                                 [hci0] 0.352345
      = Index Info: 80:C5:F2:8F:87:84 (Qualcomm)                      [hci0] 0.352346
      @ MGMT Open: bluetoothd (privileged) version 1.14             {0x0001} 0.352347
      @ MGMT Open: btmon (privileged) version 1.14                  {0x0002} 0.352366
      @ MGMT Open: btmgmt (privileged) version 1.14                {0x0003} 27.302164
      @ MGMT Command: Start Discovery (0x0023) plen 1       {0x0003} [hci0] 27.302310
              Address type: 0x06
                LE Public
                LE Random
      < HCI Command: LE Set Random Address (0x08|0x0005) plen 6   #1 [hci0] 27.302496
              Address: 15:60:F2:91:B2:24 (Non-Resolvable)
      > HCI Event: Command Complete (0x0e) plen 4                 #2 [hci0] 27.419117
            LE Set Random Address (0x08|0x0005) ncmd 1
              Status: Success (0x00)
      < HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7  #3 [hci0] 27.419244
              Type: Active (0x01)
              Interval: 11.250 msec (0x0012)
              Window: 11.250 msec (0x0012)
              Own address type: Random (0x01)
              Filter policy: Accept all advertisement (0x00)
      > HCI Event: Command Complete (0x0e) plen 4                 #4 [hci0] 27.420131
            LE Set Random Address (0x08|0x0005) ncmd 1
              Status: Success (0x00)
      < HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2      #5 [hci0] 27.420259
              Scanning: Enabled (0x01)
              Filter duplicates: Enabled (0x01)
      > HCI Event: Command Complete (0x0e) plen 4                 #6 [hci0] 27.420969
            LE Set Scan Parameters (0x08|0x000b) ncmd 1
              Status: Success (0x00)
      > HCI Event: Command Complete (0x0e) plen 4                 #7 [hci0] 27.421983
            LE Set Scan Enable (0x08|0x000c) ncmd 1
              Status: Success (0x00)
      @ MGMT Event: Command Complete (0x0001) plen 4        {0x0003} [hci0] 27.422059
            Start Discovery (0x0023) plen 1
              Status: Success (0x00)
              Address type: 0x06
                LE Public
                LE Random
      @ MGMT Event: Discovering (0x0013) plen 2             {0x0003} [hci0] 27.422067
              Address type: 0x06
                LE Public
                LE Random
              Discovery: Enabled (0x01)
      @ MGMT Event: Discovering (0x0013) plen 2             {0x0002} [hci0] 27.422067
              Address type: 0x06
                LE Public
                LE Random
              Discovery: Enabled (0x01)
      @ MGMT Event: Discovering (0x0013) plen 2             {0x0001} [hci0] 27.422067
              Address type: 0x06
                LE Public
                LE Random
              Discovery: Enabled (0x01)
      
      Signed-off-by: default avatarJoão Paulo Rechi Vita <jprvita@endlessm.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      f80c5dad
    • Stephan Gerhold's avatar
      Bluetooth: btbcm: Add default address for BCM2076B1 · 300926b1
      Stephan Gerhold authored
      
      
      BCM2076B1 appears to use 20:76:A0:00:56:79 as default address.
      This address is used by at least 5 devices with the AMPAK AP6476
      module and is also suspicious because it starts with the chip name
      2076 (followed by a different revision A0 for some reason).
      
      Add it to the list of default addresses and leave it up to the
      user to configure a valid one.
      
      Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      300926b1
    • Dan Carpenter's avatar
      net: atm: clean up a range check · fdd1a810
      Dan Carpenter authored
      
      
      The code works fine but the problem is that check for negatives is a
      no-op:
      
      	if (arg < 0)
      		i = 0;
      
      The "i" value isn't used.  We immediately overwrite it with:
      
      	i = array_index_nospec(arg, MAX_LEC_ITF);
      
      The array_index_nospec() macro returns zero if "arg" is out of bounds so
      this works, but the dead code is confusing and it doesn't look very
      intentional.
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fdd1a810
    • David S. Miller's avatar
      Merge tag 'wireless-drivers-next-for-davem-2019-05-03' of... · 6ffe0acc
      David S. Miller authored
      Merge tag 'wireless-drivers-next-for-davem-2019-05-03' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
      
      
      
      Kalle Valo says:
      
      ====================
      wireless-drivers-next patches for 5.2
      
      Most likely the last patchset of new feature for 5.2, and this time we
      have quite a lot of new features. Most obvious being rtw88 from
      Realtek which supports RTL8822BE and RTL8822CE 802.11ac devices. We
      have also new hardware support for existing drivers and improvements.
      
      There's one conflict in iwlwifi, my example conflict resolution below.
      
      Major changes:
      
      iwlwifi
      
      * bump the 20000-series FW API version
      
      * work on new hardware continues
      
      * RTT confidence indication support for Fine Timing Measurement (FTM)
      
      * an improvement in HE (802.11ax) rate-scaling
      
      * add command version parsing from the fimware TLVs
      
      * add support for a new WoWLAN patterns firmware API
      
      rsi
      
      * add support for rs9116
      
      mwifiex
      
      * add support for SD8987
      
      brcmfmac
      
      * add quirk for ACEPC T8 and T11 mini PCs
      
      rt2x00
      
      * add RT3883 support
      
      qtnfmac
      
      * fix debugfs interface to support multiple cards
      
      rtw88
      
      * new driver
      
      mt76
      
      * share more code across drivers
      
      * add support for MT7615 chipset
      
      * rework DMA API
      
      * tx/rx performance optimizations
      
      * use NAPI for tx cleanup on mt76x02
      
      * AP mode support for USB devices
      
      * USB stability fixes
      
      * tx power handling fixes for 76x2
      
      * endian fixes
      
      Conflicts:
      
      There's a trivial conflict in
      drivers/net/wireless/intel/iwlwifi/fw/file.h, just leave
      IWL_UCODE_TLV_FW_FSEQ_VERSION to the file. 'git diff' output should be
      just empty:
      
      diff --cc drivers/net/wireless/intel/iwlwifi/fw/file.h
      index cd622af90077,b0671e16e1ce..000000000000
      --- a/drivers/net/wireless/intel/iwlwifi/fw/file.h
      +++ b/drivers/net/wireless/intel/iwlwifi/fw/file.h
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6ffe0acc
    • Wei Yongjun's avatar
      drivers: net: davinci_mdio: fix return value check in davinci_mdio_probe() · cc0d47b8
      Wei Yongjun authored
      In case of error, the function devm_ioremap() returns NULL pointer not
      ERR_PTR(). The IS_ERR() test in the return value check should be
      replaced with NULL test.
      
      Fixes: 03f66f06
      
       ("net: ethernet: ti: davinci_mdio: use devm_ioremap()")
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cc0d47b8
  2. May 05, 2019