|
@@ -860,6 +860,7 @@ static void rxrpc_sock_destructor(struct sock *sk)
|
|
|
static int rxrpc_release_sock(struct sock *sk)
|
|
|
{
|
|
|
struct rxrpc_sock *rx = rxrpc_sk(sk);
|
|
|
+ struct rxrpc_net *rxnet = rxrpc_net(sock_net(&rx->sk));
|
|
|
|
|
|
_enter("%p{%d,%d}", sk, sk->sk_state, refcount_read(&sk->sk_refcnt));
|
|
|
|
|
@@ -895,8 +896,8 @@ static int rxrpc_release_sock(struct sock *sk)
|
|
|
rxrpc_release_calls_on_socket(rx);
|
|
|
flush_workqueue(rxrpc_workqueue);
|
|
|
rxrpc_purge_queue(&sk->sk_receive_queue);
|
|
|
- rxrpc_queue_work(&rx->local->rxnet->service_conn_reaper);
|
|
|
- rxrpc_queue_work(&rx->local->rxnet->client_conn_reaper);
|
|
|
+ rxrpc_queue_work(&rxnet->service_conn_reaper);
|
|
|
+ rxrpc_queue_work(&rxnet->client_conn_reaper);
|
|
|
|
|
|
rxrpc_put_local(rx->local);
|
|
|
rx->local = NULL;
|