Merge branches 'work.misc' and 'work.dcache' of git://git.kernel.org/pub/scm/linux...
[sfrench/cifs-2.6.git] / net / rxrpc / peer_object.c
index 1b7e8107b3ae8a144bc72d01f6e1277368b3cbad..1dc7648e3eff34f25ceea7b0edbd74b5f8cd02b3 100644 (file)
@@ -322,7 +322,7 @@ struct rxrpc_peer *rxrpc_lookup_incoming_peer(struct rxrpc_local *local,
        if (!peer) {
                peer = prealloc;
                hash_add_rcu(rxnet->peer_hash, &peer->hash_link, hash_key);
-               hlist_add_head(&peer->keepalive_link, &rxnet->peer_keepalive_new);
+               list_add_tail(&peer->keepalive_link, &rxnet->peer_keepalive_new);
        }
 
        spin_unlock(&rxnet->peer_hash_lock);
@@ -367,8 +367,8 @@ struct rxrpc_peer *rxrpc_lookup_peer(struct rxrpc_local *local,
                if (!peer) {
                        hash_add_rcu(rxnet->peer_hash,
                                     &candidate->hash_link, hash_key);
-                       hlist_add_head(&candidate->keepalive_link,
-                                      &rxnet->peer_keepalive_new);
+                       list_add_tail(&candidate->keepalive_link,
+                                     &rxnet->peer_keepalive_new);
                }
 
                spin_unlock_bh(&rxnet->peer_hash_lock);
@@ -406,7 +406,7 @@ struct rxrpc_peer *rxrpc_get_peer_maybe(struct rxrpc_peer *peer)
        const void *here = __builtin_return_address(0);
 
        if (peer) {
-               int n = __atomic_add_unless(&peer->usage, 1, 0);
+               int n = atomic_fetch_add_unless(&peer->usage, 1, 0);
                if (n > 0)
                        trace_rxrpc_peer(peer, rxrpc_peer_got, n + 1, here);
                else
@@ -441,7 +441,7 @@ static void __rxrpc_put_peer(struct rxrpc_peer *peer)
 
        spin_lock_bh(&rxnet->peer_hash_lock);
        hash_del_rcu(&peer->hash_link);
-       hlist_del_init(&peer->keepalive_link);
+       list_del_init(&peer->keepalive_link);
        spin_unlock_bh(&rxnet->peer_hash_lock);
 
        kfree_rcu(peer, rcu);