bonding: fix active-backup transition
authorMahesh Bandewar <maheshb@google.com>
Tue, 4 Apr 2017 01:38:39 +0000 (18:38 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 5 Apr 2017 14:15:58 +0000 (07:15 -0700)
commit3f3c278c94dd994fe0d9f21679ae19b9c0a55292
treed9143fb9ed01cd2da630703e8f66eba812ef7833
parent457c79e54487b076cafa0e1ec5f177e751c54087
bonding: fix active-backup transition

Earlier patch c4adfc822bf5 ("bonding: make speed, duplex setting
consistent with link state") made an attempt to keep slave state
consistent with speed and duplex settings. Unfortunately link-state
transition is used to change the active link especially when used
in conjunction with mii-mon. The above mentioned patch broke that
logic. Also when speed and duplex settings for a link are updated
during a link-event, the link-status should not be changed to
invoke correct transition logic.

This patch fixes this issue by moving the link-state update outside
of the bond_update_speed_duplex() fn and to the places where this fn
is called and update link-state selectively.

Fixes: c4adfc822bf5 ("bonding: make speed, duplex setting consistent
with link state")
Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Reviewed-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c