diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c index 92006a587dd4512a23dea77d35aac1b50217e049..da2f9c9e0a6d3c3fb449609df920ef3cf19fa283 100644 --- a/drivers/nvme/target/tcp.c +++ b/drivers/nvme/target/tcp.c @@ -1394,6 +1394,9 @@ static void nvmet_tcp_restore_socket_callbacks(struct nvmet_tcp_queue *queue) { struct socket *sock = queue->sock; + if (!queue->state_change) + return; + write_lock_bh(&sock->sk->sk_callback_lock); sock->sk->sk_data_ready = queue->data_ready; sock->sk->sk_state_change = queue->state_change;