|
@@ -804,8 +804,6 @@ static void vmci_transport_handle_detach(struct sock *sk)
|
|
|
*/
|
|
|
if (vsk->local_addr.svm_cid == VMADDR_CID_HOST ||
|
|
|
vsock_stream_has_data(vsk) <= 0) {
|
|
|
- sk->sk_state = TCP_CLOSE;
|
|
|
-
|
|
|
if (sk->sk_state == TCP_SYN_SENT) {
|
|
|
/* The peer may detach from a queue pair while
|
|
|
* we are still in the connecting state, i.e.,
|
|
@@ -815,10 +813,12 @@ static void vmci_transport_handle_detach(struct sock *sk)
|
|
|
* event like a reset.
|
|
|
*/
|
|
|
|
|
|
+ sk->sk_state = TCP_CLOSE;
|
|
|
sk->sk_err = ECONNRESET;
|
|
|
sk->sk_error_report(sk);
|
|
|
return;
|
|
|
}
|
|
|
+ sk->sk_state = TCP_CLOSE;
|
|
|
}
|
|
|
sk->sk_state_change(sk);
|
|
|
}
|