diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-13 21:23:44 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-13 21:23:44 -0400 |
commit | dd4efa44ebf2a8a0e5edf60a53eadec981b4b10a (patch) | |
tree | dd6e750c3e7228abb1f922de240b86d7d12d14bf /net/dccp/input.c | |
parent | 1a04392bd6439876b1552793389cbb5be356ea54 (diff) | |
parent | 046d20b73960b7a2474b6d5e920d54c3fd7c23fe (diff) |
Merge branch 'master'
Diffstat (limited to 'net/dccp/input.c')
-rw-r--r-- | net/dccp/input.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/dccp/input.c b/net/dccp/input.c index 1b6b2cb1237..3454d594190 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c @@ -375,6 +375,9 @@ static int dccp_rcv_respond_partopen_state_process(struct sock *sk, case DCCP_PKT_RESET: inet_csk_clear_xmit_timer(sk, ICSK_TIME_DACK); break; + case DCCP_PKT_DATA: + if (sk->sk_state == DCCP_RESPOND) + break; case DCCP_PKT_DATAACK: case DCCP_PKT_ACK: /* @@ -393,7 +396,8 @@ static int dccp_rcv_respond_partopen_state_process(struct sock *sk, dccp_sk(sk)->dccps_osr = DCCP_SKB_CB(skb)->dccpd_seq; dccp_set_state(sk, DCCP_OPEN); - if (dh->dccph_type == DCCP_PKT_DATAACK) { + if (dh->dccph_type == DCCP_PKT_DATAACK || + dh->dccph_type == DCCP_PKT_DATA) { dccp_rcv_established(sk, skb, dh, len); queued = 1; /* packet was queued (by dccp_rcv_established) */ |