mvebu: add linux 4.9 support
[openwrt/staging/yousong.git] / target / linux / mvebu / patches-4.9 / 422-net-mvneta-add-nway_reset-support.patch
diff --git a/target/linux/mvebu/patches-4.9/422-net-mvneta-add-nway_reset-support.patch b/target/linux/mvebu/patches-4.9/422-net-mvneta-add-nway_reset-support.patch
new file mode 100644 (file)
index 0000000..c7725b3
--- /dev/null
@@ -0,0 +1,35 @@
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Thu, 1 Oct 2015 19:40:31 +0100
+Subject: [PATCH] net: mvneta: add nway_reset support
+
+Add ethtool nway_reset support to mvneta via phylink, so that userspace
+can request the link in whatever mode to be renegotiated via
+ethtool -r ethX.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+
+--- a/drivers/net/ethernet/marvell/mvneta.c
++++ b/drivers/net/ethernet/marvell/mvneta.c
+@@ -3616,6 +3616,13 @@ mvneta_ethtool_get_link_ksettings(struct
+       return phylink_ethtool_ksettings_get(pp->phylink, cmd);
+ }
++static int mvneta_ethtool_nway_reset(struct net_device *dev)
++{
++      struct mvneta_port *pp = netdev_priv(dev);
++
++      return phylink_ethtool_nway_reset(pp->phylink);
++}
++
+ /* Set interrupt coalescing for ethtools */
+ static int mvneta_ethtool_set_coalesce(struct net_device *dev,
+                                      struct ethtool_coalesce *c)
+@@ -3889,6 +3896,7 @@ static const struct net_device_ops mvnet
+ };
+ const struct ethtool_ops mvneta_eth_tool_ops = {
++      .nway_reset     = mvneta_ethtool_nway_reset,
+       .get_link       = ethtool_op_get_link,
+       .set_coalesce   = mvneta_ethtool_set_coalesce,
+       .get_coalesce   = mvneta_ethtool_get_coalesce,