diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2011-08-01 12:19:00 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-02 07:29:23 -0400 |
commit | a9b3cd7f323b2e57593e7215362a7b02fc933e3a (patch) | |
tree | eba1741956aef3015d5b1a07253bf93c4c1bc7df /net/can | |
parent | 76f793e3a47139d340185cbc1a314740c09b13d3 (diff) |
rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER
When assigning a NULL value to an RCU protected pointer, no barrier
is needed. The rcu_assign_pointer, used to handle that but will soon
change to not handle the special case.
Convert all rcu_assign_pointer of NULL value.
//smpl
@@ expression P; @@
- rcu_assign_pointer(P, NULL)
+ RCU_INIT_POINTER(P, NULL)
// </smpl>
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/can')
-rw-r--r-- | net/can/af_can.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c index 8ce926d3b2cb..b9efa944cab9 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c | |||
@@ -719,7 +719,7 @@ int can_proto_register(const struct can_proto *cp) | |||
719 | proto); | 719 | proto); |
720 | err = -EBUSY; | 720 | err = -EBUSY; |
721 | } else | 721 | } else |
722 | rcu_assign_pointer(proto_tab[proto], cp); | 722 | RCU_INIT_POINTER(proto_tab[proto], cp); |
723 | 723 | ||
724 | mutex_unlock(&proto_tab_lock); | 724 | mutex_unlock(&proto_tab_lock); |
725 | 725 | ||
@@ -740,7 +740,7 @@ void can_proto_unregister(const struct can_proto *cp) | |||
740 | 740 | ||
741 | mutex_lock(&proto_tab_lock); | 741 | mutex_lock(&proto_tab_lock); |
742 | BUG_ON(proto_tab[proto] != cp); | 742 | BUG_ON(proto_tab[proto] != cp); |
743 | rcu_assign_pointer(proto_tab[proto], NULL); | 743 | RCU_INIT_POINTER(proto_tab[proto], NULL); |
744 | mutex_unlock(&proto_tab_lock); | 744 | mutex_unlock(&proto_tab_lock); |
745 | 745 | ||
746 | synchronize_rcu(); | 746 | synchronize_rcu(); |