[PATCH] bonding: fix a locking bug in bond_release
bond_release returns EINVAL without releasing the bond lock if the slave device is not being bonded by the bond. The following patch ensures that the lock is released in this case. Signed-off-by: Stephen J. Bevan <stephen@dino.dnsalias.com> Acked-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
parent
66cc5d5aee
commit
f5e2a7b22e
|
@ -1581,6 +1581,7 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
|
||||||
printk(KERN_INFO DRV_NAME
|
printk(KERN_INFO DRV_NAME
|
||||||
": %s: %s not enslaved\n",
|
": %s: %s not enslaved\n",
|
||||||
bond_dev->name, slave_dev->name);
|
bond_dev->name, slave_dev->name);
|
||||||
|
write_unlock_bh(&bond->lock);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue