1. 30 7月, 2017 5 次提交
    • S
      net: thunderx: Fix BGX transmit stall due to underflow · 500268e9
      Sunil Goutham 提交于
      For SGMII/RGMII/QSGMII interfaces when physical link goes down
      while traffic is high is resulting in underflow condition being set
      on that specific BGX's LMAC. Which assets a backpresure and VNIC stops
      transmitting packets.
      
      This is due to BGX being disabled in link status change callback while
      packet is in transit. This patch fixes this issue by not disabling BGX
      but instead just disables packet Rx and Tx.
      Signed-off-by: NSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      500268e9
    • J
      Revert "vhost: cache used event for better performance" · 8d65843c
      Jason Wang 提交于
      This reverts commit 809ecb9b. Since it
      was reported to break vhost_net. We want to cache used event and use
      it to check for notification. The assumption was that guest won't move
      the event idx back, but this could happen in fact when 16 bit index
      wraps around after 64K entries.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d65843c
    • D
      Merge tag 'mlx5-fixes-2017-07-27-V2' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 90fecc14
      David S. Miller 提交于
      Saeed Mahameed says:
      
      ====================
      Mellanox, mlx5 fixes 2017-07-27
      
      This series contains some misc fixes to the mlx5 driver.
      
      Please pull and let me know if there's any problem.
      
      V1->V2:
       - removed redundant braces
      
      for -stable:
      4.7
      net/mlx5: Fix command bad flow on command entry allocation failure
      
      4.9
      net/mlx5: Consider tx_enabled in all modes on remap
      net/mlx5e: Fix outer_header_zero() check size
      
      4.10
      net/mlx5: Fix mlx5_add_flow_rules call with correct num of dests
      
      4.11
      net/mlx5: Fix mlx5_ifc_mtpps_reg_bits structure size
      net/mlx5e: Add field select to MTPPS register
      net/mlx5e: Fix broken disable 1PPS flow
      net/mlx5e: Change 1PPS out scheme
      net/mlx5e: Add missing support for PTP_CLK_REQ_PPS request
      net/mlx5e: Fix wrong delay calculation for overflow check scheduling
      net/mlx5e: Schedule overflow check work to mlx5e workqueue
      
      4.12
      net/mlx5: Fix command completion after timeout access invalid structure
      net/mlx5e: IPoIB, Modify add/remove underlay QPN flows
      
      I hope this is not too much, but most of the patches do apply cleanly on -stable.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      90fecc14
    • W
      team: use a larger struct for mac address · 996f6e12
      WANG Cong 提交于
      IPv6 tunnels use sizeof(struct in6_addr) as dev->addr_len,
      but in many places especially bonding, we use struct sockaddr
      to copy and set mac addr, this could lead to stack out-of-bounds
      access.
      
      Fix it by using a larger address storage like bonding.
      Reported-by: NAndrey Konovalov <andreyknvl@google.com>
      Cc: Jiri Pirko <jiri@resnulli.us>
      Signed-off-by: NCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      996f6e12
    • W
      net: check dev->addr_len for dev_set_mac_address() · 0254e0c6
      WANG Cong 提交于
      Historically, dev_ifsioc() uses struct sockaddr as mac
      address definition, this is why dev_set_mac_address()
      accepts a struct sockaddr pointer as input but now we
      have various types of mac addresse whose lengths
      are up to MAX_ADDR_LEN, longer than struct sockaddr,
      and saved in dev->addr_len.
      
      It is too late to fix dev_ifsioc() due to API
      compatibility, so just reject those larger than
      sizeof(struct sockaddr), otherwise we would read
      and use some random bytes from kernel stack.
      
      Fortunately, only a few IPv6 tunnel devices have addr_len
      larger than sizeof(struct sockaddr) and they don't support
      ndo_set_mac_addr(). But with team driver, in lb mode, they
      can still be enslaved to a team master and make its mac addr
      length as the same.
      
      Cc: Jiri Pirko <jiri@resnulli.us>
      Signed-off-by: NCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0254e0c6
  2. 28 7月, 2017 2 次提交
    • A
      phy: bcm-ns-usb3: fix MDIO_BUS dependency · 245db3c3
      Arnd Bergmann 提交于
      The driver attempts to 'select MDIO_DEVICE', but the code
      is actually a loadable module when PHYLIB=m:
      
      drivers/phy/broadcom/phy-bcm-ns-usb3.o: In function `bcm_ns_usb3_mdiodev_phy_write':
      phy-bcm-ns-usb3.c:(.text.bcm_ns_usb3_mdiodev_phy_write+0x28): undefined reference to `mdiobus_write'
      drivers/phy/broadcom/phy-bcm-ns-usb3.o: In function `bcm_ns_usb3_module_exit':
      phy-bcm-ns-usb3.c:(.exit.text+0x18): undefined reference to `mdio_driver_unregister'
      drivers/phy/broadcom/phy-bcm-ns-usb3.o: In function `bcm_ns_usb3_module_init':
      phy-bcm-ns-usb3.c:(.init.text+0x18): undefined reference to `mdio_driver_register'
      phy-bcm-ns-usb3.c:(.init.text+0x38): undefined reference to `mdio_driver_unregister'
      
      Using 'depends on MDIO_BUS' instead will avoid the link error.
      
      Fixes: af850e14 ("phy: bcm-ns-usb3: add MDIO driver using proper bus layer")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      245db3c3
    • A
      net: phy: rework Kconfig settings for MDIO_BUS · 4c3464a8
      Arnd Bergmann 提交于
      I still see build errors in randconfig builds and have had this
      patch for a while to locally work around it:
      
      drivers/built-in.o: In function `xgene_mdio_probe':
      mux-core.c:(.text+0x352154): undefined reference to `of_mdiobus_register'
      mux-core.c:(.text+0x352168): undefined reference to `mdiobus_free'
      mux-core.c:(.text+0x3521c0): undefined reference to `mdiobus_alloc_size'
      
      The idea is that CONFIG_MDIO_BUS now reflects whether the mdio_bus
      code is built-in or a module, and other drivers that use the core
      code can simply depend on that, instead of having a complex
      dependency line.
      
      Fixes: 90eff909 ("net: phy: Allow splitting MDIO bus/device support from PHYs")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4c3464a8
  3. 27 7月, 2017 22 次提交
  4. 26 7月, 2017 7 次提交
  5. 25 7月, 2017 4 次提交