diff options
author | Ioana Radulescu <ruxandra.radulescu@nxp.com> | 2019-08-28 17:08:14 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-29 16:52:12 -0700 |
commit | cce62943c08ef9fcf3880d7babf76f9e86c9cdbd (patch) | |
tree | 981d343d40d29a7c91785e41864e8f5ab81c4472 /drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | |
parent | dpaa2-eth: Remove support for changing link settings (diff) | |
download | linux-dev-cce62943c08ef9fcf3880d7babf76f9e86c9cdbd.tar.xz linux-dev-cce62943c08ef9fcf3880d7babf76f9e86c9cdbd.zip |
dpaa2-eth: Use stored link settings
Whenever a link state change occurs, we get notified and save
the new link settings in the device's private data. In ethtool
get_link_ksettings, use the stored state instead of interrogating
the firmware each time.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c')
-rw-r--r-- | drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index 0acb11557ed1..2c6f9b1225b8 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -1222,9 +1222,8 @@ static int link_state_update(struct dpaa2_eth_priv *priv) /* Chech link state; speed / duplex changes are not treated yet */ if (priv->link_state.up == state.up) - return 0; + goto out; - priv->link_state = state; if (state.up) { netif_carrier_on(priv->net_dev); netif_tx_start_all_queues(priv->net_dev); @@ -1236,6 +1235,9 @@ static int link_state_update(struct dpaa2_eth_priv *priv) netdev_info(priv->net_dev, "Link Event: state %s\n", state.up ? "up" : "down"); +out: + priv->link_state = state; + return 0; } |