diff options
Diffstat (limited to 'net/dccp/input.c')
| -rw-r--r-- | net/dccp/input.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/net/dccp/input.c b/net/dccp/input.c index 8cde009e8b8..4222e7a654b 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c @@ -614,6 +614,9 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb,  		/* Caller (dccp_v4_do_rcv) will send Reset */  		dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION;  		return 1; +	} else if (sk->sk_state == DCCP_CLOSED) { +		dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION; +		return 1;  	}  	if (sk->sk_state != DCCP_REQUESTING && sk->sk_state != DCCP_RESPOND) { @@ -668,10 +671,6 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb,  	}  	switch (sk->sk_state) { -	case DCCP_CLOSED: -		dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION; -		return 1; -  	case DCCP_REQUESTING:  		queued = dccp_rcv_request_sent_state_process(sk, skb, dh, len);  		if (queued >= 0)  |