| From 1e75090199d666bd15857a9cd5cc1e662878dfca Mon Sep 17 00:00:00 2001 |
| From: Hillf Danton <dhillf@gmail.com> |
| Date: Fri, 10 Dec 2010 18:54:11 +0000 |
| Subject: bonding: Fix slave selection bug. |
| |
| |
| From: Hillf Danton <dhillf@gmail.com> |
| |
| [ Upstream commit af3e5bd5f650163c2e12297f572910a1af1b8236 ] |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| --- |
| drivers/net/bonding/bonding.h | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/net/bonding/bonding.h |
| +++ b/drivers/net/bonding/bonding.h |
| @@ -240,11 +240,11 @@ static inline struct slave *bond_get_sla |
| |
| 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) |