[DCCP]: Fix ackno setting in SYNC/SYNCACK packets
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/dccp/output.c b/net/dccp/output.c
index 384fd09..708fc3c 100644
--- a/net/dccp/output.c
+++ b/net/dccp/output.c
@@ -44,15 +44,8 @@
int err, set_ack = 1;
u64 ackno = dp->dccps_gsr;
- /*
- * FIXME: study DCCP_PKT_SYNC[ACK] to see what is the right
- * thing to do here...
- */
dccp_inc_seqno(&dp->dccps_gss);
- dcb->dccpd_seq = dp->dccps_gss;
- dccp_insert_options(sk, skb);
-
switch (dcb->dccpd_type) {
case DCCP_PKT_DATA:
set_ack = 0;
@@ -62,6 +55,9 @@
ackno = dcb->dccpd_seq;
break;
}
+
+ dcb->dccpd_seq = dp->dccps_gss;
+ dccp_insert_options(sk, skb);
skb->h.raw = skb_push(skb, dccp_header_size);
dh = dccp_hdr(skb);