From 1b98d4dfb2efa14aceffbb6e322b83fb6478f679 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 10 Oct 2005 21:25:00 -0700 Subject: [PATCH] --- yaml --- r: 9838 b: refs/heads/master c: 2a9bc9bb4d3a4570a8a48aadf071b91e657adb89 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/dccp/input.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c599b09ef154..d1954cbd9acd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 777b25a2fea7129222eb11fba55c0a67982383ff +refs/heads/master: 2a9bc9bb4d3a4570a8a48aadf071b91e657adb89 diff --git a/trunk/net/dccp/input.c b/trunk/net/dccp/input.c index 1b6b2cb12376..3454d5941900 100644 --- a/trunk/net/dccp/input.c +++ b/trunk/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) */