diff options
-rw-r--r-- | net/vmw_vsock/vmci_transport.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c index 56573dc85709..a7a73ffe675b 100644 --- a/net/vmw_vsock/vmci_transport.c +++ b/net/vmw_vsock/vmci_transport.c | |||
@@ -804,8 +804,6 @@ static void vmci_transport_handle_detach(struct sock *sk) | |||
804 | */ | 804 | */ |
805 | if (vsk->local_addr.svm_cid == VMADDR_CID_HOST || | 805 | if (vsk->local_addr.svm_cid == VMADDR_CID_HOST || |
806 | vsock_stream_has_data(vsk) <= 0) { | 806 | vsock_stream_has_data(vsk) <= 0) { |
807 | sk->sk_state = TCP_CLOSE; | ||
808 | |||
809 | if (sk->sk_state == TCP_SYN_SENT) { | 807 | if (sk->sk_state == TCP_SYN_SENT) { |
810 | /* The peer may detach from a queue pair while | 808 | /* The peer may detach from a queue pair while |
811 | * we are still in the connecting state, i.e., | 809 | * we are still in the connecting state, i.e., |
@@ -815,10 +813,12 @@ static void vmci_transport_handle_detach(struct sock *sk) | |||
815 | * event like a reset. | 813 | * event like a reset. |
816 | */ | 814 | */ |
817 | 815 | ||
816 | sk->sk_state = TCP_CLOSE; | ||
818 | sk->sk_err = ECONNRESET; | 817 | sk->sk_err = ECONNRESET; |
819 | sk->sk_error_report(sk); | 818 | sk->sk_error_report(sk); |
820 | return; | 819 | return; |
821 | } | 820 | } |
821 | sk->sk_state = TCP_CLOSE; | ||
822 | } | 822 | } |
823 | sk->sk_state_change(sk); | 823 | sk->sk_state_change(sk); |
824 | } | 824 | } |