aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/igmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/igmp.c')
-rw-r--r--net/ipv4/igmp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index fbc53767bf35..313ad93d2f7b 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -1721,7 +1721,8 @@ static int ip_mc_add_src(struct in_device *in_dev, __be32 *pmca, int sfmode,
1721 if (err) { 1721 if (err) {
1722 int j; 1722 int j;
1723 1723
1724 pmc->sfcount[sfmode]--; 1724 if (!delta)
1725 pmc->sfcount[sfmode]--;
1725 for (j=0; j<i; j++) 1726 for (j=0; j<i; j++)
1726 (void) ip_mc_del1_src(pmc, sfmode, &psfsrc[j]); 1727 (void) ip_mc_del1_src(pmc, sfmode, &psfsrc[j]);
1727 } else if (isexclude != (pmc->sfcount[MCAST_EXCLUDE] != 0)) { 1728 } else if (isexclude != (pmc->sfcount[MCAST_EXCLUDE] != 0)) {