|
@@ -173,7 +173,7 @@ static int ip_mc_add_src(struct in_device *in_dev, __be32 *pmca, int sfmode,
|
|
|
|
|
|
static void ip_ma_put(struct ip_mc_list *im)
|
|
|
{
|
|
|
- if (atomic_dec_and_test(&im->refcnt)) {
|
|
|
+ if (refcount_dec_and_test(&im->refcnt)) {
|
|
|
in_dev_put(im->interface);
|
|
|
kfree_rcu(im, rcu);
|
|
|
}
|
|
@@ -199,7 +199,7 @@ static void igmp_stop_timer(struct ip_mc_list *im)
|
|
|
{
|
|
|
spin_lock_bh(&im->lock);
|
|
|
if (del_timer(&im->timer))
|
|
|
- atomic_dec(&im->refcnt);
|
|
|
+ refcount_dec(&im->refcnt);
|
|
|
im->tm_running = 0;
|
|
|
im->reporter = 0;
|
|
|
im->unsolicit_count = 0;
|
|
@@ -213,7 +213,7 @@ static void igmp_start_timer(struct ip_mc_list *im, int max_delay)
|
|
|
|
|
|
im->tm_running = 1;
|
|
|
if (!mod_timer(&im->timer, jiffies+tv+2))
|
|
|
- atomic_inc(&im->refcnt);
|
|
|
+ refcount_inc(&im->refcnt);
|
|
|
}
|
|
|
|
|
|
static void igmp_gq_start_timer(struct in_device *in_dev)
|
|
@@ -249,7 +249,7 @@ static void igmp_mod_timer(struct ip_mc_list *im, int max_delay)
|
|
|
spin_unlock_bh(&im->lock);
|
|
|
return;
|
|
|
}
|
|
|
- atomic_dec(&im->refcnt);
|
|
|
+ refcount_dec(&im->refcnt);
|
|
|
}
|
|
|
igmp_start_timer(im, max_delay);
|
|
|
spin_unlock_bh(&im->lock);
|
|
@@ -1374,7 +1374,7 @@ void ip_mc_inc_group(struct in_device *in_dev, __be32 addr)
|
|
|
/* initial mode is (EX, empty) */
|
|
|
im->sfmode = MCAST_EXCLUDE;
|
|
|
im->sfcount[MCAST_EXCLUDE] = 1;
|
|
|
- atomic_set(&im->refcnt, 1);
|
|
|
+ refcount_set(&im->refcnt, 1);
|
|
|
spin_lock_init(&im->lock);
|
|
|
#ifdef CONFIG_IP_MULTICAST
|
|
|
setup_timer(&im->timer, igmp_timer_expire, (unsigned long)im);
|