aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2005-09-13 19:32:40 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2005-09-13 19:32:40 -0400
commit033d974405276c22609c45d50167dd11df20aa82 (patch)
treebf57f52fe748be2f1fd48fdb890732345abf0763
parentae01d2798d1825307044d75de11eb5c9ffb79c5a (diff)
parent2b80230a7f8cd346c1e2ebafdd02be432bf10459 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6
-rw-r--r--net/dccp/input.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/dccp/input.c b/net/dccp/input.c
index c60bc3433f5e..c74034cf7ede 100644
--- a/net/dccp/input.c
+++ b/net/dccp/input.c
@@ -50,7 +50,8 @@ static void dccp_rcv_closereq(struct sock *sk, struct sk_buff *skb)
50 return; 50 return;
51 } 51 }
52 52
53 dccp_set_state(sk, DCCP_CLOSING); 53 if (sk->sk_state != DCCP_CLOSING)
54 dccp_set_state(sk, DCCP_CLOSING);
54 dccp_send_close(sk, 0); 55 dccp_send_close(sk, 0);
55} 56}
56 57
@@ -561,6 +562,12 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb,
561 return 0; 562 return 0;
562 } 563 }
563 564
565 if (unlikely(dh->dccph_type == DCCP_PKT_SYNC)) {
566 dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq,
567 DCCP_PKT_SYNCACK);
568 goto discard;
569 }
570
564 switch (sk->sk_state) { 571 switch (sk->sk_state) {
565 case DCCP_CLOSED: 572 case DCCP_CLOSED:
566 return 1; 573 return 1;