diff options
author | Ioana Ciornei <ioana.ciornei@nxp.com> | 2020-09-25 17:44:20 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-09-26 03:10:27 +0300 |
commit | 4c33a5bd063f9fdbced5fd1ceb7814e5f64f6a7b (patch) | |
tree | d80d96b50bfa1afbdf80c8bdab9813cd40fc7d85 /drivers | |
parent | 98179709c95ecd60274668a20365a0cd0b3726eb (diff) | |
download | linux-4c33a5bd063f9fdbced5fd1ceb7814e5f64f6a7b.tar.xz |
dpaa2-eth: no need to check link state right after ndo_open
The call to dpaa2_eth_link_state_update() is a leftover from the time
when on DPAA2 platforms the PHYs were started at boot time so when an
ifconfig was issued on the associated interface, the link status needed
to be checked directly from the ndo_open() callback.
This is not needed anymore since we are now properly integrated with the
PHY layer thus a link interrupt will come directly from the PHY
eventually without the need to call the sync function.
Fix this up by removing the call to dpaa2_eth_link_state_update().
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index 32677521504c..48679940c2c9 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -1700,22 +1700,11 @@ static int dpaa2_eth_open(struct net_device *net_dev) goto enable_err; } - if (!priv->mac) { - /* If the DPMAC object has already processed the link up - * interrupt, we have to learn the link state ourselves. - */ - err = dpaa2_eth_link_state_update(priv); - if (err < 0) { - netdev_err(net_dev, "Can't update link state\n"); - goto link_state_err; - } - } else { + if (priv->mac) phylink_start(priv->mac->phylink); - } return 0; -link_state_err: enable_err: dpaa2_eth_disable_ch_napi(priv); dpaa2_eth_drain_pool(priv); |