bonding: initialize work-queues during creation of bond
authorMahesh Bandewar <maheshb@google.com>
Wed, 8 Mar 2017 18:55:54 +0000 (10:55 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Mar 2017 01:33:29 +0000 (17:33 -0800)
Initializing work-queues every time ifup operation performed is unnecessary
and can be performed only once when the port is created.

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c

index 619f0c65f18af9f214230f51218b3059ff86828e..1329110ed85fa0119ee28e84c6e1ceb27b6db525 100644 (file)
@@ -3270,8 +3270,6 @@ static int bond_open(struct net_device *bond_dev)
                }
        }
 
-       bond_work_init_all(bond);
-
        if (bond_is_lb(bond)) {
                /* bond_alb_initialize must be called before the timer
                 * is started.
@@ -4691,6 +4689,8 @@ int bond_create(struct net *net, const char *name)
 
        netif_carrier_off(bond_dev);
 
+       bond_work_init_all(bond);
+
        rtnl_unlock();
        if (res < 0)
                bond_destructor(bond_dev);