diff mbox series

[net] enic: do not call enic_change_mtu in enic_probe

Message ID 20180730165654.3816-1-gvaradar@cisco.com
State Accepted, archived
Delegated to: David Miller
Headers show
Series [net] enic: do not call enic_change_mtu in enic_probe | expand

Commit Message

Govindarajulu Varadarajan July 30, 2018, 4:56 p.m. UTC
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>
---
 drivers/net/ethernet/cisco/enic/enic_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller July 31, 2018, 9:45 p.m. UTC | #1
From: Govindarajulu Varadarajan <gvaradar@cisco.com>
Date: Mon, 30 Jul 2018 09:56:54 -0700

> 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>

Applied.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index 6b0376123cde..60641e202534 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -2892,7 +2892,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) {
@@ -2982,6 +2981,7 @@  static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	/* MTU range: 68 - 9000 */
 	netdev->min_mtu = ENIC_MIN_MTU;
 	netdev->max_mtu = ENIC_MAX_MTU;
+	netdev->mtu	= enic->port_mtu;
 
 	err = register_netdev(netdev);
 	if (err) {