diff options
author | Jiri Bohac <jbohac@suse.cz> | 2012-01-18 12:24:54 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-02-03 09:19:03 -0800 |
commit | 03024e3d2d6705443980f956abb56d4453319e95 (patch) | |
tree | ac199e6e1fe242c24d3325b466beb28fa78a8284 /net | |
parent | 62252cba2867cec7cc484ebb2d3ec705c41d9684 (diff) | |
download | kernel_samsung_crespo-03024e3d2d6705443980f956abb56d4453319e95.zip kernel_samsung_crespo-03024e3d2d6705443980f956abb56d4453319e95.tar.gz kernel_samsung_crespo-03024e3d2d6705443980f956abb56d4453319e95.tar.bz2 |
bonding: fix enslaving in alb mode when link down
[ Upstream commit b924551bed09f61b64f21bffe241afc5526b091a ]
bond_alb_init_slave() is called from bond_enslave() and sets the slave's MAC
address. This is done differently for TLB and ALB modes.
bond->alb_info.rlb_enabled is used to discriminate between the two modes but
this flag may be uninitialized if the slave is being enslaved prior to calling
bond_open() -> bond_alb_initialize() on the master.
It turns out all the callers of alb_set_slave_mac_addr() pass
bond->alb_info.rlb_enabled as the hw parameter.
This patch cleans up the unnecessary parameter of alb_set_slave_mac_addr() and
makes the function decide based on the bonding mode instead, which fixes the
above problem.
Reported-by: Narendra K <Narendra_K@Dell.com>
Signed-off-by: Jiri Bohac <jbohac@suse.cz>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions