diff options
author | Govindarajulu Varadarajan <gvaradar@cisco.com> | 2018-07-30 09:56:54 -0700 |
---|---|---|
committer | Ben Hutchings <ben.hutchings@codethink.co.uk> | 2018-09-12 20:19:23 +0100 |
commit | 98b5ccfcee60feb85f007c21619dd4fa1e235eef (patch) | |
tree | 8669d639543139b6ccae9ba116e6420662b12d8b | |
parent | 24fc584092a9ad8dab8a8a83d919aed8f1f29517 (diff) | |
download | linux-cip-98b5ccfcee60feb85f007c21619dd4fa1e235eef.tar.gz |
enic: do not call enic_change_mtu in enic_probe
commit cb5c6568867325f9905e80c96531d963bec8e5ea upstream.
In commit ab123fe071c9 ("enic: handle mtu change for vf properly")
ASSERT_RTNL() is added to _enic_change_mtu() to prevent it from being
called without rtnl held. enic_probe() calls enic_change_mtu()
without rtnl held. At this point netdev is not registered yet.
Remove call to enic_change_mtu and assign the mtu to netdev->mtu.
Fixes: ab123fe071c9 ("enic: handle mtu change for vf properly")
Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 4.4: adjust context]
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
-rw-r--r-- | drivers/net/ethernet/cisco/enic/enic_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index 788a91482a9072..3474d649773086 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c @@ -2682,7 +2682,6 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) */ enic->port_mtu = enic->config.mtu; - (void)enic_change_mtu(netdev, enic->port_mtu); err = enic_set_mac_addr(netdev, enic->mac_addr); if (err) { @@ -2732,6 +2731,8 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) netdev->priv_flags |= IFF_UNICAST_FLT; + netdev->mtu = enic->port_mtu; + err = register_netdev(netdev); if (err) { dev_err(dev, "Cannot register net device, aborting\n"); |