1. 04 May, 2019 12 commits
    • David S. Miller's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 18af9626
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2019-05-02
      
      This series contains updates to the ice driver only.
      
      Anirudh introduces the framework to store queue specific information in
      the VSI queue contexts.  This will allow future changes to update the
      structure to hold queue specific information.
      
      Akeem adds additional check so that if there is no queue to disable when
      attempting to disable a queue, return a configuration error without
      acquiring the lock.  Fixed an issue with non-trusted VFs being able to
      add more than the permitted number of VLANs.
      
      Bruce removes unreachable code and updated the function to return void
      since it would never return anything but success.
      
      Brett provides most of the changes in the series, starting with reducing
      the scope of the error variable used and improved the debug message if
      we fail to configure the receive queue.  Updates the driver to use a
      macro instead of using the same 'for' loop throughout the driver which
      helps with readability.  Fixed an issue where users were led to believe
      they could set rx-usecs-high value, yet the changes to this value would
      not stick because it was not yet implemented to allow changes to this
      value, so implement the missing code to change the value.  Found we had
      unnecessary wait when disabling queues, so remove it.  I,proved a
      wasteful addition operation in our hot path by adding a member to the
      ice_q_vector structure and the necessary changes to use the member which
      stores the calculated vector hardware index.  Refactored the link event
      flow to make it cleaner and more clear.
      
      Maciej updates the array index when stopping transmit rings, so that
      process every ring the VSI, not just the rings in a given transmit
      class.
      
      Paul adds support for setting 52 byte RSS hash keys.
      
      Md Fahad cleaned up a runtime change to the PFINT_OICR_ENA register,
      since the interrupt handlers will handle resetting the bit, if
      necessary.
      
      Tony adds a missing PHY type, which was causing warning message about an
      unrecognized PHY.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18af9626
    • Gustavo A. R. Silva's avatar
      wimax/i2400m: use struct_size() helper · 70bb13a5
      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(*tx_msg) + le16_to_cpu(tx_msg->num_pls) * sizeof(tx_msg->pld[0]);
      
      with:
      
      struct_size(tx_msg, pld, le16_to_cpu(tx_msg->num_pls));
      
      This code was detected with the help of Coccinelle.
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      70bb13a5
    • David S. Miller's avatar
      Merge branch 'net-hns3-enhance-capabilities-for-fibre-port' · 504159c3
      David S. Miller authored
      Jian Shen says:
      
      ====================
      net: hns3: enhance capabilities for fibre port
      
      This patchset enhances more capabilities for fibre port,
      include multipe media type identification, autoneg,
      change port speed and FEC encoding.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      504159c3
    • Jian Shen's avatar
      net: hns3: add support for FEC encoding control · 7e6ec914
      Jian Shen authored
      This patch adds support for FEC encoding control, user can change
      FEC mode by command ethtool --set-fec, and get FEC mode by command
      ethtool --show-fec. The fec capability is changed follow the port
      speed. If autoneg on, the user configure fec mode will be overwritten
      by autoneg result.
      Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
      Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7e6ec914
    • Jian Shen's avatar
      net: hns3: add autoneg and change speed support for fibre port · 22f48e24
      Jian Shen authored
      Previously, our driver only supports phydev to autoneg or change
      port speed. This patch adds support for fibre port, driver gets
      media speed capability and autoneg capability from firmware. If
      the media supports multiple speeds, user can change port speed
      with command "ethtool -s <devname> speed xxxx autoneg off duplex
      full". If autoneg on, the user configuration may be overwritten
      by the autoneg result.
      Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
      Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      22f48e24
    • Jian Shen's avatar
      net: hns3: add support for multiple media type · 88d10bd6
      Jian Shen authored
      Previously, we can only identify copper and fiber type, the
      supported link modes of port information are always showing
      SR type. This patch adds support for multiple media types,
      include SR, LR CR, KR. Driver needs to query the media type
      from firmware periodicly, and updates the port information.
      
      The new port information looks like this:
      Settings for eth0:
              Supported ports: [ FIBRE ]
              Supported link modes:   25000baseCR/Full
                                      25000baseSR/Full
                                      1000baseX/Full
                                      10000baseCR/Full
                                      10000baseSR/Full
                                      10000baseLR/Full
              Supported pause frame use: Symmetric
              Supports auto-negotiation: No
              Supported FEC modes: None BaseR
              Advertised link modes:  Not reported
              Advertised pause frame use: No
              Advertised auto-negotiation: No
              Advertised FEC modes: Not reported
              Speed: 10000Mb/s
              Duplex: Full
              Port: FIBRE
              PHYAD: 0
              Transceiver: internal
              Auto-negotiation: off
              Current message level: 0x00000036 (54)
                                     probe link ifdown ifup
              Link detected: yes
      
      In order to be compatible with old firmware which only support
      sfp speed, we remained using the same query command, and kept
      the former logic.
      Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
      Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      88d10bd6
    • Guenter Roeck's avatar
      usbnet: ipheth: Remove unnecessary NULL pointer check · e28441e2
      Guenter Roeck authored
      ipheth_carrier_set() is called from two locations. In
      ipheth_carrier_check_work(), its parameter 'dev' is set with
      container_of(work, ...) and can not be NULL. In ipheth_open(),
      dev is extracted from netdev_priv(net) and dereferenced before
      the call to ipheth_carrier_set(). The NULL pointer check of dev
      in ipheth_carrier_set() is therefore unnecessary and can be removed.
      
      Cc: Gustavo A. R. Silva <garsilva@embeddedor.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e28441e2
    • Andrew Lunn's avatar
      net: dsa: mv88e6xxx: Pass interrupt number in platform data · a27415de
      Andrew Lunn authored
      Allow an interrupt number to be passed in the platform data. The
      driver will then use it if not zero, otherwise it will poll for
      interrupts.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a27415de
    • David S. Miller's avatar
      Merge branch 'mv88e6xxx-Disable-ports-to-save-power' · 3b3600ff
      David S. Miller authored
      Andrew Lunn says:
      
      ====================
      mv88e6xxx: Disable ports to save power
      
      Save some power by disabling ports. The first patch fully disables a
      port when it is runtime disabled. The second disables any ports which
      are not used at all.
      
      Depending on configuration strapping, this can lower the temperature
      of an idle switch a few degrees.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3b3600ff
    • Andrew Lunn's avatar
      net: dsa :mv88e6xxx: Disable unused ports · 100a9b9d
      Andrew Lunn authored
      If the NO_CPU strap is set, the switch starts in 'dumb hub' mode, with
      all ports enable. Ports which are then actively used are reconfigured
      as required when the driver starts. However unused ports are left
      alone. Change this to disable them, and turn off any SERDES
      interface. This could save some power and so reduce the temperature a
      bit.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarVivien Didelot <vivien.didelot@gmail.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      100a9b9d
    • Andrew Lunn's avatar
      net: dsa: mv88e6xxx: Set STP disable state in port_disable · 4a0eb731
      Andrew Lunn authored
      When requested to disable a port, set the port STP state to disabled.
      This fully disables the port and should save some power.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarVivien Didelot <vivien.didelot@gmail.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4a0eb731
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 2ce1aef9
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2019-05-03
      
      This series contains updates to the i40e driver only.
      
      Carolyn changes the driver behavior to now disable the VF after one MDD
      event instead of allowing a couple of MDD events before doing the reset.
      
      Aleksandr changes the driver to only report an error when a VF tries to
      remove VLAN when a port VLAN is configured, unless it is VLAN 0.  Also
      extends the LLDP support to be able to keep the current LLDP state
      persistent across a power cycle.
      
      Maciej fixes the checksum calculation due to firmware changes, which
      requires the driver to perform a double shadow RAM dump in some cases.
      
      Adam adds advertising support for 40GBase_LR4, 40GBase_CR4 and fibre in
      the driver.
      
      Jake cleans up a check that is not needed and was producing a warning in
      GCC 8.
      
      Harshitha fixes a misleading message by ensuring that a success message
      is only printed on the host side when the promiscuous mode change has
      been successful.
      
      Stefan Assmann adds the vendor id and device id to the dmesg log entry
      during probe to help with bug reports when lspci output may not be
      available.
      
      Alice and Piotr add recovery mode support in the i40e driver, which is
      needed for migrating from a structured to a flat firmware image.
      
      v2: Removed patch 1 "i40e: replace switch-statement to speed-up
          retpoline-enabled builds" from the series since it is no longer
          needed.  Also updated the last patch in the series that introduces
          recovery mode support, to include a more detailed patch description
          and removed code not intended for the upstream kernel.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2ce1aef9
  2. 03 May, 2019 27 commits
  3. 02 May, 2019 1 commit
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ea986679
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Out of bounds access in xfrm IPSEC policy unlink, from Yue Haibing.
      
       2) Missing length check for esp4 UDP encap, from Sabrina Dubroca.
      
       3) Fix byte order of RX STBC access in mac80211, from Johannes Berg.
      
       4) Inifnite loop in bpftool map create, from Alban Crequy.
      
       5) Register mark fix in ebpf verifier after pkt/null checks, from Paul
          Chaignon.
      
       6) Properly use rcu_dereference_sk_user_data in L2TP code, from Eric
          Dumazet.
      
       7) Buffer overrun in marvell phy driver, from Andrew Lunn.
      
       8) Several crash and statistics handling fixes to bnxt_en driver, from
          Michael Chan and Vasundhara Volam.
      
       9) Several fixes to the TLS layer from Jakub Kicinski (copying negative
          amounts of data in reencrypt, reencrypt frag copying, blind nskb->sk
          NULL deref, etc).
      
      10) Several UDP GRO fixes, from Paolo Abeni and Eric Dumazet.
      
      11) PID/UID checks on ipv6 flow labels are inverted, from Willem de
          Bruijn.
      
      12) Use after free in l2tp, from Eric Dumazet.
      
      13) IPV6 route destroy races, also from Eric Dumazet.
      
      14) SCTP state machine can erroneously run recursively, fix from Xin
          Long.
      
      15) Adjust AF_PACKET msg_name length checks, add padding bytes if
          necessary. From Willem de Bruijn.
      
      16) Preserve skb_iif, so that forwarded packets have consistent values
          even if fragmentation is involved. From Shmulik Ladkani.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits)
        udp: fix GRO packet of death
        ipv6: A few fixes on dereferencing rt->from
        rds: ib: force endiannes annotation
        selftests: fib_rule_tests: print the result and return 1 if any tests failed
        ipv4: ip_do_fragment: Preserve skb_iif during fragmentation
        net/tls: avoid NULL pointer deref on nskb->sk in fallback
        selftests: fib_rule_tests: Fix icmp proto with ipv6
        packet: validate msg_namelen in send directly
        packet: in recvmsg msg_name return at least sizeof sockaddr_ll
        sctp: avoid running the sctp state machine recursively
        stmmac: pci: Fix typo in IOT2000 comment
        Documentation: fix netdev-FAQ.rst markup warning
        ipv6: fix races in ip6_dst_destroy()
        l2ip: fix possible use-after-free
        appletalk: Set error code if register_snap_client failed
        net: dsa: bcm_sf2: fix buffer overflow doing set_rxnfc
        rxrpc: Fix net namespace cleanup
        ipv6/flowlabel: wait rcu grace period before put_pid()
        vrf: Use orig netdev to count Ip6InNoRoutes and a fresh route lookup when sending dest unreach
        tcp: add sanity tests in tcp_add_backlog()
        ...
      ea986679