struct slave *slave;
struct port *port;
- read_lock(&bond->lock);
-
+ if (!rtnl_trylock()) {
+ queue_delayed_work(bond->wq, &bond->ad_work, ad_delta_in_ticks);
+ return;
+ }
//check if there are any slaves
if (!bond_has_slaves(bond))
goto re_arm;
}
re_arm:
+ rtnl_unlock();
queue_delayed_work(bond->wq, &bond->ad_work, ad_delta_in_ticks);
-
- read_unlock(&bond->lock);
}
/**