/* Detach the svc_sock from the socket so that no more callbacks occur.  */
static void svc_sock_detach(struct svc_xprt *)
/* Detach the svc_sock from the socket so that no more callbacks occur.  */
static void svc_sock_detach(struct svc_xprt *)
{
	struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
	struct sock *sk = svsk->sk_sk;
	dprintk("svc: svc_sock_detach(%p)\n", svsk);
	sk->sk_state_change = svsk->sk_ostate;
	sk->sk_data_ready = svsk->sk_odata;
	sk->sk_write_space = svsk->sk_owspace;
	if (sk->sk_sleep && waitqueue_active(sk->sk_sleep))
		wake_up_interruptible(sk->sk_sleep);
}