forked from Minki/linux
bonding: Don't hold lock when calling rtnl_unlock
Change bond_mii_monitor to not hold any locks when calling rtnl_unlock, as rtnl_unlock can sleep (when acquring another mutex in netdev_run_todo). Bug reported by Makito SHIOKAWA <mshiokawa@miraclelinux.com>, who included a different patch. Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
027ea0416c
commit
5655662dab
@ -2386,7 +2386,9 @@ void bond_mii_monitor(struct work_struct *work)
|
||||
rtnl_lock();
|
||||
read_lock(&bond->lock);
|
||||
__bond_mii_monitor(bond, 1);
|
||||
rtnl_unlock();
|
||||
read_unlock(&bond->lock);
|
||||
rtnl_unlock(); /* might sleep, hold no other locks */
|
||||
read_lock(&bond->lock);
|
||||
}
|
||||
|
||||
delay = ((bond->params.miimon * HZ) / 1000) ? : 1;
|
||||
|
Loading…
Reference in New Issue
Block a user