On 5/23/2017 2:30 PM, Mahesh Bandewar (महेश बंडेवार) wrote:
On Tue, May 23, 2017 at 12:32 PM, Nithin Sujir <nsu...@tintri.com> wrote:
diff --git a/drivers/net/bonding/bond_main.c
b/drivers/net/bonding/bond_main.c
index 5dca77e..1f60503 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -2614,8 +2614,7 @@ static void bond_loadbalance_arp_mon(struct
work_struct *work)
         rcu_read_unlock();

         if (do_failover || slave_state_changed) {
-               if (!rtnl_trylock())
-                       goto re_arm;
+               rtnl_lock();
Nitin, you can't do this. The tryRTNL code is to prevent deadlock
during work-cancellation during bond_close().
Thanks, Mahesh. Yes, Jay pointed me to your patch and I will take a look at how to use a similar approach.

Nithin.

                 if (slave_state_changed) {
                         bond_slave_state_change(bond);



Reply via email to