Merge branch 'net/rds/4.3-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/ssanto...
[firefly-linux-kernel-4.4.55.git] / net / rds / af_rds.c
index a2f28a6d4dc579a6026e7506c80fd22d11e973a9..384ea1e3cd69ded1ced0a17ac4593a7750807007 100644 (file)
@@ -72,13 +72,7 @@ static int rds_release(struct socket *sock)
        rds_clear_recv_queue(rs);
        rds_cong_remove_socket(rs);
 
-       /*
-        * the binding lookup hash uses rcu, we need to
-        * make sure we synchronize_rcu before we free our
-        * entry
-        */
        rds_remove_bound(rs);
-       synchronize_rcu();
 
        rds_send_drop_to(rs, NULL);
        rds_rdma_drop_keys(rs);
@@ -588,6 +582,8 @@ static int rds_init(void)
 {
        int ret;
 
+       rds_bind_lock_init();
+
        ret = rds_conn_init();
        if (ret)
                goto out;