diff options
Diffstat (limited to 'net/can/af_can.c')
-rw-r--r-- | net/can/af_can.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c index 8ce926d3b2cb..0ce2ad0696da 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c | |||
@@ -38,8 +38,6 @@ | |||
38 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH | 38 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH |
39 | * DAMAGE. | 39 | * DAMAGE. |
40 | * | 40 | * |
41 | * Send feedback to <socketcan-users@lists.berlios.de> | ||
42 | * | ||
43 | */ | 41 | */ |
44 | 42 | ||
45 | #include <linux/module.h> | 43 | #include <linux/module.h> |
@@ -719,7 +717,7 @@ int can_proto_register(const struct can_proto *cp) | |||
719 | proto); | 717 | proto); |
720 | err = -EBUSY; | 718 | err = -EBUSY; |
721 | } else | 719 | } else |
722 | rcu_assign_pointer(proto_tab[proto], cp); | 720 | RCU_INIT_POINTER(proto_tab[proto], cp); |
723 | 721 | ||
724 | mutex_unlock(&proto_tab_lock); | 722 | mutex_unlock(&proto_tab_lock); |
725 | 723 | ||
@@ -740,7 +738,7 @@ void can_proto_unregister(const struct can_proto *cp) | |||
740 | 738 | ||
741 | mutex_lock(&proto_tab_lock); | 739 | mutex_lock(&proto_tab_lock); |
742 | BUG_ON(proto_tab[proto] != cp); | 740 | BUG_ON(proto_tab[proto] != cp); |
743 | rcu_assign_pointer(proto_tab[proto], NULL); | 741 | RCU_INIT_POINTER(proto_tab[proto], NULL); |
744 | mutex_unlock(&proto_tab_lock); | 742 | mutex_unlock(&proto_tab_lock); |
745 | 743 | ||
746 | synchronize_rcu(); | 744 | synchronize_rcu(); |
@@ -857,7 +855,7 @@ static __exit void can_exit(void) | |||
857 | struct net_device *dev; | 855 | struct net_device *dev; |
858 | 856 | ||
859 | if (stats_timer) | 857 | if (stats_timer) |
860 | del_timer(&can_stattimer); | 858 | del_timer_sync(&can_stattimer); |
861 | 859 | ||
862 | can_remove_proc(); | 860 | can_remove_proc(); |
863 | 861 | ||