summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHillf Danton <dhillf@gmail.com>2010-12-10 18:54:11 (GMT)
committerDavid S. Miller <davem@davemloft.net>2010-12-16 20:24:02 (GMT)
commitaf3e5bd5f650163c2e12297f572910a1af1b8236 (patch)
tree378ed230dc95ca29058c772aaf38aee44e583f63 /drivers
parent82cc4f5cb8be6dede34c32a814ab1470409e1840 (diff)
downloadlinux-af3e5bd5f650163c2e12297f572910a1af1b8236.tar.xz
bonding: Fix slave selection bug.
The returned slave is incorrect, if the net device under check is not charged yet by the master. Signed-off-by: Hillf Danton <dhillf@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/bonding/bonding.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index c2f08135..4feeb2d 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -269,11 +269,11 @@ static inline struct slave *bond_get_slave_by_dev(struct bonding *bond, struct n
bond_for_each_slave(bond, slave, i) {
if (slave->dev == slave_dev) {
- break;
+ return slave;
}
}
- return slave;
+ return 0;
}
static inline struct bonding *bond_get_bond_by_slave(struct slave *slave)