diff options
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 9ec4a505a79f..6141667c5fb7 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -852,7 +852,7 @@ static void bond_resend_igmp_join_requests(struct bonding *bond) | |||
852 | static void bond_resend_igmp_join_requests_delayed(struct work_struct *work) | 852 | static void bond_resend_igmp_join_requests_delayed(struct work_struct *work) |
853 | { | 853 | { |
854 | struct bonding *bond = container_of(work, struct bonding, | 854 | struct bonding *bond = container_of(work, struct bonding, |
855 | mcast_work.work); | 855 | mcast_work.work); |
856 | bond_resend_igmp_join_requests(bond); | 856 | bond_resend_igmp_join_requests(bond); |
857 | } | 857 | } |
858 | 858 | ||
@@ -1172,10 +1172,12 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active) | |||
1172 | } | 1172 | } |
1173 | 1173 | ||
1174 | /* resend IGMP joins since active slave has changed or | 1174 | /* resend IGMP joins since active slave has changed or |
1175 | * all were sent on curr_active_slave */ | 1175 | * all were sent on curr_active_slave. |
1176 | if (((USES_PRIMARY(bond->params.mode) && new_active) || | 1176 | * resend only if bond is brought up with the affected |
1177 | bond->params.mode == BOND_MODE_ROUNDROBIN) && | 1177 | * bonding modes and the retransmission is enabled */ |
1178 | netif_running(bond->dev)) { | 1178 | if (netif_running(bond->dev) && (bond->params.resend_igmp > 0) && |
1179 | ((USES_PRIMARY(bond->params.mode) && new_active) || | ||
1180 | bond->params.mode == BOND_MODE_ROUNDROBIN)) { | ||
1179 | bond->igmp_retrans = bond->params.resend_igmp; | 1181 | bond->igmp_retrans = bond->params.resend_igmp; |
1180 | queue_delayed_work(bond->wq, &bond->mcast_work, 0); | 1182 | queue_delayed_work(bond->wq, &bond->mcast_work, 0); |
1181 | } | 1183 | } |