Commit 06ddf551 authored by Ioana Ciornei's avatar Ioana Ciornei Committed by Greg Kroah-Hartman

staging: dpaa2-ethsw: fix reported link state

On the .ndo_open() callback set netif_carrier_off() until the link state
interrupt is received so that the LOWER_UP flag does not show up
incorrectly in the output of 'ip link show'.
Signed-off-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20200714133431.17532-2-ioana.ciornei@nxp.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1843b3fe
...@@ -473,6 +473,13 @@ static int port_open(struct net_device *netdev) ...@@ -473,6 +473,13 @@ static int port_open(struct net_device *netdev)
/* No need to allow Tx as control interface is disabled */ /* No need to allow Tx as control interface is disabled */
netif_tx_stop_all_queues(netdev); netif_tx_stop_all_queues(netdev);
/* Explicitly set carrier off, otherwise
* netif_carrier_ok() will return true and cause 'ip link show'
* to report the LOWER_UP flag, even though the link
* notification wasn't even received.
*/
netif_carrier_off(netdev);
err = dpsw_if_enable(port_priv->ethsw_data->mc_io, 0, err = dpsw_if_enable(port_priv->ethsw_data->mc_io, 0,
port_priv->ethsw_data->dpsw_handle, port_priv->ethsw_data->dpsw_handle,
port_priv->idx); port_priv->idx);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment