summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/netronome/nfp/nfp_port.c
diff options
context:
space:
mode:
authorJakub Kicinski2018-05-22 07:12:53 +0200
committerDavid S. Miller2018-05-23 20:26:19 +0200
commit1f70036723e10b165627bb11a7809eed80d43a16 (patch)
tree15f9353bb0daa937a09738465468ce97ab594327 /drivers/net/ethernet/netronome/nfp/nfp_port.c
parentnfp: abm: spawn port netdevs (diff)
downloadkernel-qcow2-linux-1f70036723e10b165627bb11a7809eed80d43a16.tar.gz
kernel-qcow2-linux-1f70036723e10b165627bb11a7809eed80d43a16.tar.xz
kernel-qcow2-linux-1f70036723e10b165627bb11a7809eed80d43a16.zip
nfp: abm: force Ethternet port up
Current control firmware does not cater too well to multi-host applications. There is no way to check which hosts are up or otherwise negotiate what the state of the external port (the Ethernet port) should be. Make sure the link is up when driver loads, and don't take it down when Ethernet port netdev is closed. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_port.c')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_port.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_port.c b/drivers/net/ethernet/netronome/nfp/nfp_port.c
index 7bd8be5c833b..a17f1ace6988 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_port.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_port.c
@@ -218,6 +218,8 @@ int nfp_port_configure(struct net_device *netdev, bool configed)
eth_port = __nfp_port_get_eth_port(port);
if (!eth_port)
return 0;
+ if (port->eth_forced)
+ return 0;
err = nfp_eth_set_configured(port->app->cpp, eth_port->index, configed);
return err < 0 && err != -EOPNOTSUPP ? err : 0;