01 Apr, 2020

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    1) Fix the iwlwifi regression, from Johannes Berg.

    2) Support BSS coloring and 802.11 encapsulation offloading in
    hardware, from John Crispin.

    3) Fix some potential Spectre issues in qtnfmac, from Sergey
    Matyukevich.

    4) Add TTL decrement action to openvswitch, from Matteo Croce.

    5) Allow paralleization through flow_action setup by not taking the
    RTNL mutex, from Vlad Buslov.

    6) A lot of zero-length array to flexible-array conversions, from
    Gustavo A. R. Silva.

    7) Align XDP statistics names across several drivers for consistency,
    from Lorenzo Bianconi.

    8) Add various pieces of infrastructure for offloading conntrack, and
    make use of it in mlx5 driver, from Paul Blakey.

    9) Allow using listening sockets in BPF sockmap, from Jakub Sitnicki.

    10) Lots of parallelization improvements during configuration changes
    in mlxsw driver, from Ido Schimmel.

    11) Add support to devlink for generic packet traps, which report
    packets dropped during ACL processing. And use them in mlxsw
    driver. From Jiri Pirko.

    12) Support bcmgenet on ACPI, from Jeremy Linton.

    13) Make BPF compatible with RT, from Thomas Gleixnet, Alexei
    Starovoitov, and your's truly.

    14) Support XDP meta-data in virtio_net, from Yuya Kusakabe.

    15) Fix sysfs permissions when network devices change namespaces, from
    Christian Brauner.

    16) Add a flags element to ethtool_ops so that drivers can more simply
    indicate which coalescing parameters they actually support, and
    therefore the generic layer can validate the user's ethtool
    request. Use this in all drivers, from Jakub Kicinski.

    17) Offload FIFO qdisc in mlxsw, from Petr Machata.

    18) Support UDP sockets in sockmap, from Lorenz Bauer.

    19) Fix stretch ACK bugs in several TCP congestion control modules,
    from Pengcheng Yang.

    20) Support virtual functiosn in octeontx2 driver, from Tomasz
    Duszynski.

    21) Add region operations for devlink and use it in ice driver to dump
    NVM contents, from Jacob Keller.

    22) Add support for hw offload of MACSEC, from Antoine Tenart.

    23) Add support for BPF programs that can be attached to LSM hooks,
    from KP Singh.

    24) Support for multiple paths, path managers, and counters in MPTCP.
    From Peter Krystad, Paolo Abeni, Florian Westphal, Davide Caratti,
    and others.

    25) More progress on adding the netlink interface to ethtool, from
    Michal Kubecek"

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2121 commits)
    net: ipv6: rpl_iptunnel: Fix potential memory leak in rpl_do_srh_inline
    cxgb4/chcr: nic-tls stats in ethtool
    net: dsa: fix oops while probing Marvell DSA switches
    net/bpfilter: remove superfluous testing message
    net: macb: Fix handling of fixed-link node
    net: dsa: ksz: Select KSZ protocol tag
    netdevsim: dev: Fix memory leak in nsim_dev_take_snapshot_write
    net: stmmac: add EHL 2.5Gbps PCI info and PCI ID
    net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID
    net: stmmac: create dwmac-intel.c to contain all Intel platform
    net: dsa: bcm_sf2: Support specifying VLAN tag egress rule
    net: dsa: bcm_sf2: Add support for matching VLAN TCI
    net: dsa: bcm_sf2: Move writing of CFP_DATA(5) into slicing functions
    net: dsa: bcm_sf2: Check earlier for FLOW_EXT and FLOW_MAC_EXT
    net: dsa: bcm_sf2: Disable learning for ASP port
    net: dsa: b53: Deny enslaving port 7 for 7278 into a bridge
    net: dsa: b53: Prevent tagged VLAN on port 7 for 7278
    net: dsa: b53: Restore VLAN entries upon (re)configuration
    net: dsa: bcm_sf2: Fix overflow checks
    hv_netvsc: Remove unnecessary round_up for recv_completion_cnt
    ...

    Linus Torvalds
     

27 Mar, 2020

1 commit

  • The phy-gmii-sel can be only auto selected in Kconfig and now the pretty
    complex Kconfig dependencies are defined for phy-gmii-sel driver, which
    also need to be updated every time phy-gmii-sel is re-used for any new
    networking driver.

    Simplify Kconfig definition for phy-gmii-sel PHY driver - drop all
    dependencies and from networking drivers and rely on using 'imply
    PHY_TI_GMII_SEL' in Kconfig definitions for networking drivers instead.

    Signed-off-by: Grygorii Strashko
    Acked-by: Kishon Vijay Abraham I
    Tested-by: Murali Karicheri
    Tested-by: Peter Ujfalusi
    Signed-off-by: David S. Miller

    Grygorii Strashko
     

21 Mar, 2020

1 commit

  • …linux-phy into usb-next

    Kishon writes:

    phy: for 5.7

    *) Rename and Re-design phy-cadence-dp driver to phy-cadence-torrent driver
    *) Add new PHY driver for Qualcomm 28nm Hi-Speed USB PHY
    *) Add new PHY driver for Qualcomm Super Speed PHY in QCS404
    *) Add support for Qualcomm PCIe QMP/QHP PHY in SDM845 to phy-qcom-qmp driver
    *) Add support for Qualcomm UFS PHY in MSM8996 to phy-qcom-qmp driver
    *) Add support for an additional reference clock in Mediatek phy-mtk-tphy driver
    *) Add support for configuring tuning parameters in Mediatek phy-mtk-tphy driver
    *) Add support for GMII PHY in TI K3 AM654x/J721E SoCs to phy-gmii-sel driver
    *) Add support for USB2 PHY in Amlogic A1 SoC Family to phy-meson-g12a-usb2
    driver
    *) Add support for USB3/USB2/PCIe PHY in Socionext Pro5 SoC to
    phy-uniphier-usb3ss/phy-uniphier-usb3hs/phy-uniphier-pcie driver respectively
    *) Add support for QUSB2 PHY in Qualcomm SC7180 in driver
    *) Convert dt-bindings of Cadence DP, Qualcomm QUSB2 to YAML format

    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

    * tag 'phy-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy: (52 commits)
    phy: qcom-qusb2: Add new overriding tuning parameters in QUSB2 V2 PHY
    phy: qcom-qusb2: Add support for overriding tuning parameters in QUSB2 V2 PHY
    dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters
    phy: qcom-qusb2: Add generic QUSB2 V2 PHY support
    dt-bindings: phy: qcom,qusb2: Add compatibles for QUSB2 V2 phy and SC7180
    dt-bindings: phy: qcom,qusb2: Convert QUSB2 phy bindings to yaml
    phy: rk-inno-usb2: Decrease verbosity of repeating log.
    phy: amlogic: Add Amlogic A1 USB2 PHY Driver
    dt-bindings: phy: Add Amlogic A1 USB2 PHY Bindings
    phy: ti: gmii-sel: add support for am654x/j721e soc
    dt-bindings: phy: ti: gmii-sel: add support for am654x/j721e soc
    phy: qualcomm: usb: Add SuperSpeed PHY driver
    dt-bindings: Add Qualcomm USB SuperSpeed PHY bindings
    phy: qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver
    dt-bindings: phy: Add Qualcomm Synopsys Hi-Speed USB PHY binding
    dt-bindings: phy: remove qcom-dwc3-usb-phy
    phy: phy-mtk-tphy: add a new reference clock
    phy: phy-mtk-tphy: remove unused u3phya_ref clock
    phy: phy-mtk-tphy: make the ref clock optional
    phy: phy-mtk-tphy: add a property for internal resistance
    ...

    Greg Kroah-Hartman
     

20 Mar, 2020

33 commits


19 Mar, 2020

4 commits

  • I have hit the following build error:

    armv7a-hardfloat-linux-gnueabi-ld: drivers/phy/tegra/xusb.o: in function `tegra_xusb_port_unregister':
    xusb.c:(.text+0x2ac): undefined reference to `usb_remove_phy'
    armv7a-hardfloat-linux-gnueabi-ld: drivers/phy/tegra/xusb.o: in function `tegra_xusb_setup_ports':
    xusb.c:(.text+0xf30): undefined reference to `usb_add_phy_dev'

    PHY_TEGRA_XUSB should select USB_PHY because it uses symbols defined in
    the code enabled by that.

    Fixes: 23babe30fb45d ("phy: tegra: xusb: Add usb-phy support")
    Signed-off-by: Corentin Labbe
    Signed-off-by: Thierry Reding

    Corentin Labbe
     
  • The device-managed allocation API doesn't work well with the life-cycle
    of device objects. Since ports have device objects allocated within, it
    can lead to situations where these devices need to stay around until
    after their parent pad controller has been unbound from its driver. The
    device-managed memory allocated for the port objects will, however, get
    freed when the pad controller unbinds from the driver. This can cause
    use-after-free errors down the road.

    Note that the device is deleted as part of the driver unbind operation,
    so there isn't much that can be done with it after that point, but the
    memory still needs to stay around to ensure none of the references are
    invalidated.

    One situation where this arises is when a VBUS supply is associated with
    a USB 2 or 3 port. When that supply is released using regulator_put() an
    SRCU call will queue the release of the device link connecting the port
    and the regulator after a grace period. This means that the regulator is
    going to keep on to the last reference of the port device even after the
    pad controller driver was unbound (which is when the memory backing the
    port device is freed).

    Fix this by allocating port objects using non-device-managed memory. Add
    release callbacks for these objects so that their memory gets freed when
    the last reference goes away. This decouples the port devices' lifetime
    from the "active" lifetime of the pad controller (i.e. the time during
    which the pad controller driver owns the device).

    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • Devices are created for each port of the XUSB pad controller. Each USB 2
    and USB 3 port can potentially have an associated VBUS power supply that
    needs to be removed when the device is removed.

    Since port devices never bind to a driver, the driver core will not get
    to perform the cleanup of device-managed resources that usually happens
    on driver unbind.

    Now, the driver core will also perform device-managed resource cleanup
    for driver-less devices when they are released. However, when a device
    link is created between the regulator and the port device, as part of
    regulator_get(), the regulator takes a reference to the port device and
    prevents it from being released unless regulator_put() is called, which
    will never happen.

    Avoid this by using the non-device-managed API and manually releasing
    the regulator reference when the port is unregistered.

    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • Probe deferral is an expected error condition that will usually be
    recovered from. Print such error messages at debug level to make them
    available for diagnostic purposes when building with debugging enabled
    and hide them otherwise to not spam the kernel log with them.

    Signed-off-by: Thierry Reding

    Thierry Reding