--- igmp.c 2 Dec 2003 08:53:00 -0000 1.1.1.7 +++ igmp.c 17 Feb 2004 15:51:58 -0000 @@ -1151,12 +1151,14 @@ im->next=in_dev->mc_list; in_dev->mc_list=im; write_unlock_bh(&in_dev->lock); + + if (in_dev->dev->flags & IFF_UP) { #ifdef CONFIG_IP_MULTICAST - igmpv3_del_delrec(in_dev, im->multiaddr); + igmpv3_del_delrec(in_dev, im->multiaddr); #endif - igmp_group_added(im); - if (in_dev->dev->flags & IFF_UP) + igmp_group_added(im); ip_rt_multicast_event(in_dev); + } out: return; }