1. 26 Jun, 2020 14 commits
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · b0f46a97
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2020-06-25
      
      This series contains updates to i40e driver and removes the individual
      driver versions from all of the Intel wired LAN drivers.
      
      Shiraz moves the client header so that it can easily be shared between
      the i40e LAN driver and i40iw RDMA driver.
      
      Jesse cleans up the unused defines, since they are just dead weight.
      
      Alek reduces the unreasonably long wait time for a PF reset after reboot
      by using jiffies to limit the maximum wait time for the PF reset to
      succeed.  Added additional logging to let the user know when the driver
      transitions into recovery mode.  Adds new device support for our 5 Gbps
      NICs.
      
      Todd adds a check to see if MFS is set after warm reboot and notifies
      the user when MFS is set to anything lower than the default value.
      
      Arkadiusz fixes a possible race condition, where were holding a
      spin-lock while in atomic context.
      
      v2: removed code comments that were no longer applicable in patch 2 of
          the series.  Also removed 'inline' from patch 4 and patch 8 of the
          series.  Also re-arranged code to be able to remove the forward
          function declarations.  Dropped patch 9 of the series, while the
          author works on cleaning up the commit message.
      v3: Updated patch 8 description to answer Jakub's questions
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0f46a97
    • Nathan Chancellor's avatar
      bonding: Remove extraneous parentheses in bond_setup · 18c955b7
      Nathan Chancellor authored
      Clang warns:
      
      drivers/net/bonding/bond_main.c:4657:23: warning: equality comparison
      with extraneous parentheses [-Wparentheses-equality]
              if ((BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP))
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
      
      drivers/net/bonding/bond_main.c:4681:23: warning: equality comparison
      with extraneous parentheses [-Wparentheses-equality]
              if ((BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP))
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
      
      This warning occurs when a comparision has two sets of parentheses,
      which is usually the convention for doing an assignment within an
      if statement. Since equality comparisons do not need a second set of
      parentheses, remove them to fix the warning.
      
      Fixes: 18cb261a ("bonding: support hardware encryption offload to slaves")
      Link: https://github.com/ClangBuiltLinux/linux/issues/1066Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Reported-by: default avatarkernelci.org bot <bot@kernelci.org>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18c955b7
    • Martin Blumenstingl's avatar
      net: stmmac: dwmac-meson8b: use clk_parent_data for clock registration · 52660c0e
      Martin Blumenstingl authored
      Simplify meson8b_init_rgmii_tx_clk() by using struct clk_parent_data to
      initialize the clock parents. No functional changes intended.
      Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      52660c0e
    • Vaibhav Gupta's avatar
      bnx2x: use generic power management · 4ced637b
      Vaibhav Gupta authored
      With legacy PM, drivers themselves were responsible for managing the
      device's power states and takes care of register states.
      
      After upgrading to the generic structure, PCI core will take care of
      required tasks and drivers should do only device-specific operations.
      
      The driver was also calling bnx2x_set_power_state() to set the power state
      of the device by changing the device's registers' value. It is no more
      needed.
      
      Compile-tested only.
      Signed-off-by: default avatarVaibhav Gupta <vaibhavgupta40@gmail.com>
      Acked-by: default avatarIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4ced637b
    • Aleksandr Loktionov's avatar
      i40e: Remove scheduling while atomic possibility · 37d318d7
      Aleksandr Loktionov authored
      In some occasions task held spinlock (mac_filter_hash_lock),
      while being rescheduled due to admin queue mutex_lock.  The struct
      i40e_spinlock asq_spinlock, which later expands to struct mutex
      spinlock.  Moved i40e_aq_set_vsi_multicast_promiscuous(),
      i40e_aq_set_vsi_unicast_promiscuous(),
      i40e_aq_set_vsi_mc_promisc_on_vlan(), and
      i40e_aq_set_vsi_uc_promisc_on_vlan() outside of atomic context.  Without
      this patch there is a race condition, which might result in scheduling
      while in atomic context.  The race condition is between the thread, which
      holds mac_filter_hash_lock, while trying to acquire an admin queue mutex
      and a thread, which already has said admin queue mutex. The thread, which
      holds spinlock, fails to acquire the mutex, which causes this thread to
      sleep.
      Signed-off-by: default avatarArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
      Signed-off-by: default avatarAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      37d318d7
    • Aleksandr Loktionov's avatar
      i40e: Add support for 5Gbps cards · 3dbdd6c2
      Aleksandr Loktionov authored
      Make possible for the i40e driver to bind to the new v710 for 5GBASE-T
      NICs.
      Signed-off-by: default avatarAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Signed-off-by: default avatarArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3dbdd6c2
    • Jeff Kirsher's avatar
      net/intel: remove driver versions from Intel drivers · 34a2a3b8
      Jeff Kirsher authored
      As with other networking drivers, remove the unnecessary driver version
      from the Intel drivers. The ethtool driver information and module version
      will then report the kernel version instead.
      
      For ixgbe, i40e and ice drivers, the driver passes the driver version to
      the firmware to confirm that we are up and running.  So we now pass the
      value of UTS_RELEASE to the firmware.  This adminq call is required per
      the HAS document.  The Device then sends an indication to the BMC that the
      PF driver is present. This is done using Host NC Driver Status Indication
      in NC-SI Get Link command or via the Host Network Controller Driver Status
      Change AEN.
      
      What the BMC may do with this information is implementation-dependent, but
      this is a standard NC-SI 1.1 command we honor per the HAS.
      
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Alek Loktionov <aleksandr.loktionov@intel.com>
      CC: Kevin Liedtke <kevin.d.liedtke@intel.com>
      CC: Aaron Rowden <aaron.f.rowden@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Co-developed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      34a2a3b8
    • Todd Fujinaka's avatar
      i40e: Add a check to see if MFS is set · 3a2c6ced
      Todd Fujinaka authored
      A customer was chain-booting to provision his systems and one of the
      steps was setting MFS. MFS isn't cleared by normal warm reboots
      (clearing requires a GLOBR) and there was no indication of why Jumbo
      Frame receives were failing.
      
      Add a warning if MFS is set to anything lower than the default.
      Signed-off-by: default avatarTodd Fujinaka <todd.fujinaka@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3a2c6ced
    • Piotr Kwapulinski's avatar
      i40e: detect and log info about pre-recovery mode · fffeeddf
      Piotr Kwapulinski authored
      Detect and log information about pre-recovery mode when firmware
      transitions to a recovery mode.
      When a firmware transitions to a recovery mode it stores a number
      of unexpected EMP resets in one of its registers. The number of EMP
      resets ranging from 0x21 to 0x2A indicates that FW transitions
      to recovery mode. Use these values to emit log entry about transition
      process. Previously the pre-recovery mode may not have been detected
      and there was no log entry when NIC was in pre-recovery mode.
      Reviewed-by: default avatarAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Signed-off-by: default avatarPiotr Kwapulinski <piotr.kwapulinski@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fffeeddf
    • Piotr Kwapulinski's avatar
      i40e: make PF wait reset loop reliable · 91c534b5
      Piotr Kwapulinski authored
      Use jiffies to limit max waiting time for PF reset to succeed.
      Previous wait loop was unreliable. It required unreasonably long time
      to wait for PF reset after reboot when NIC was about to enter
      recovery mode
      Reviewed-by: default avatarAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Signed-off-by: default avatarPiotr Kwapulinski <piotr.kwapulinski@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      91c534b5
    • Jesse Brandeburg's avatar
      i40e: remove unused defines · 3c98f9ee
      Jesse Brandeburg authored
      Remove all the unused defines as they are just dead weight.
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3c98f9ee
    • Shiraz Saleem's avatar
      i40e: Move client header location · fe21b6c3
      Shiraz Saleem authored
      Move i40e_client.h to include/linux/net/intel/*
      since its shared between i40iw and i40e.
      Signed-off-by: default avatarShiraz Saleem <shiraz.saleem@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fe21b6c3
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 7bed1455
      David S. Miller authored
      Minor overlapping changes in xfrm_device.c, between the double
      ESP trailing bug fix setting the XFRM_INIT flag and the changes
      in net-next preparing for bonding encryption support.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7bed1455
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 4a21185c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Don't insert ESP trailer twice in IPSEC code, from Huy Nguyen.
      
       2) The default crypto algorithm selection in Kconfig for IPSEC is out
          of touch with modern reality, fix this up. From Eric Biggers.
      
       3) bpftool is missing an entry for BPF_MAP_TYPE_RINGBUF, from Andrii
          Nakryiko.
      
       4) Missing init of ->frame_sz in xdp_convert_zc_to_xdp_frame(), from
          Hangbin Liu.
      
       5) Adjust packet alignment handling in ax88179_178a driver to match
          what the hardware actually does. From Jeremy Kerr.
      
       6) register_netdevice can leak in the case one of the notifiers fail,
          from Yang Yingliang.
      
       7) Use after free in ip_tunnel_lookup(), from Taehee Yoo.
      
       8) VLAN checks in sja1105 DSA driver need adjustments, from Vladimir
          Oltean.
      
       9) tg3 driver can sleep forever when we get enough EEH errors, fix from
          David Christensen.
      
      10) Missing {READ,WRITE}_ONCE() annotations in various Intel ethernet
          drivers, from Ciara Loftus.
      
      11) Fix scanning loop break condition in of_mdiobus_register(), from
          Florian Fainelli.
      
      12) MTU limit is incorrect in ibmveth driver, from Thomas Falcon.
      
      13) Endianness fix in mlxsw, from Ido Schimmel.
      
      14) Use after free in smsc95xx usbnet driver, from Tuomas Tynkkynen.
      
      15) Missing bridge mrp configuration validation, from Horatiu Vultur.
      
      16) Fix circular netns references in wireguard, from Jason A. Donenfeld.
      
      17) PTP initialization on recovery is not done properly in qed driver,
          from Alexander Lobakin.
      
      18) Endian conversion of L4 ports in filters of cxgb4 driver is wrong,
          from Rahul Lakkireddy.
      
      19) Don't clear bound device TX queue of socket prematurely otherwise we
          get problems with ktls hw offloading, from Tariq Toukan.
      
      20) ipset can do atomics on unaligned memory, fix from Russell King.
      
      21) Align ethernet addresses properly in bridging code, from Thomas
          Martitz.
      
      22) Don't advertise ipv4 addresses on SCTP sockets having ipv6only set,
          from Marcelo Ricardo Leitner.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (149 commits)
        rds: transport module should be auto loaded when transport is set
        sch_cake: fix a few style nits
        sch_cake: don't call diffserv parsing code when it is not needed
        sch_cake: don't try to reallocate or unshare skb unconditionally
        ethtool: fix error handling in linkstate_prepare_data()
        wil6210: account for napi_gro_receive never returning GRO_DROP
        hns: do not cast return value of napi_gro_receive to null
        socionext: account for napi_gro_receive never returning GRO_DROP
        wireguard: receive: account for napi_gro_receive never returning GRO_DROP
        vxlan: fix last fdb index during dump of fdb with nhid
        sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket
        tc-testing: avoid action cookies with odd length.
        bpf: tcp: bpf_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
        tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
        net: dsa: sja1105: fix tc-gate schedule with single element
        net: dsa: sja1105: recalculate gating subschedule after deleting tc-gate rules
        net: dsa: sja1105: unconditionally free old gating config
        net: dsa: sja1105: move sja1105_compose_gating_subschedule at the top
        net: macb: free resources on failure path of at91ether_open()
        net: macb: call pm_runtime_put_sync on failure path
        ...
      4a21185c
  2. 25 Jun, 2020 26 commits