aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/vmw_vsock/vmci_transport.c4
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 }