[CCID3]: Fix a bug in the send time processing
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Sat, 16 Jun 2007 16:48:50 +0000 (13:48 -0300)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 11 Jul 2007 05:15:34 +0000 (22:15 -0700)
commit49d66a70cf9fd94057aacd6055334299ab3a5eac
tree2feed7f094e3b2a45b7d3a211c2a3b33c61cbfb1
parent8132da4d412ad51c34bad11133a8f0941e2a1972
[CCID3]: Fix a bug in the send time processing

ccid3_hc_tx_send_packet currently returns 0 when the time difference between
current time and t_nom is less than 1000 microseconds.

In this case the packet is sent immediately; but, unlike other packets that can
be emitted on first attempt, it will not have its window counter updated and
its options set as required. This is a bug.

Fix: Require the time difference to be at least 1000 microseconds. The
algorithm then converges: time differences > 1000 microseconds trigger the
timer in dccp_write_xmit; after timer expiry this function is tried again; when
the time difference is less than 1000, the packet will have its options added
and window counter updated as required.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
net/dccp/ccids/ccid3.c