summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHillf Danton <dhillf@gmail.com>2010-12-10 19:54:11 +0100
committerDavid S. Miller <davem@davemloft.net>2010-12-16 21:24:02 +0100
commitaf3e5bd5f650163c2e12297f572910a1af1b8236 (patch)
tree378ed230dc95ca29058c772aaf38aee44e583f63 /drivers
parentMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil... (diff)
downloadlinux-af3e5bd5f650163c2e12297f572910a1af1b8236.tar.xz
linux-af3e5bd5f650163c2e12297f572910a1af1b8236.zip
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 c2f081352a03..4feeb2d650a4 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)