aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/dccp/options.c')
-rw-r--r--net/dccp/options.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/net/dccp/options.c b/net/dccp/options.c
index 34d536d5f1a1..95b75d8354ff 100644
--- a/net/dccp/options.c
+++ b/net/dccp/options.c
@@ -158,7 +158,7 @@ int dccp_parse_options(struct sock *sk, struct sk_buff *skb)
158 opt_recv->dccpor_timestamp = ntohl(*(__be32 *)value); 158 opt_recv->dccpor_timestamp = ntohl(*(__be32 *)value);
159 159
160 dp->dccps_timestamp_echo = opt_recv->dccpor_timestamp; 160 dp->dccps_timestamp_echo = opt_recv->dccpor_timestamp;
161 dccp_timestamp(sk, &dp->dccps_timestamp_time); 161 dp->dccps_timestamp_time = ktime_get_real();
162 162
163 dccp_pr_debug("%s rx opt: TIMESTAMP=%u, ackno=%llu\n", 163 dccp_pr_debug("%s rx opt: TIMESTAMP=%u, ackno=%llu\n",
164 dccp_role(sk), opt_recv->dccpor_timestamp, 164 dccp_role(sk), opt_recv->dccpor_timestamp,
@@ -405,14 +405,12 @@ static int dccp_insert_option_timestamp_echo(struct sock *sk,
405 struct sk_buff *skb) 405 struct sk_buff *skb)
406{ 406{
407 struct dccp_sock *dp = dccp_sk(sk); 407 struct dccp_sock *dp = dccp_sk(sk);
408 struct timeval now;
409 __be32 tstamp_echo; 408 __be32 tstamp_echo;
410 u32 elapsed_time;
411 int len, elapsed_time_len; 409 int len, elapsed_time_len;
412 unsigned char *to; 410 unsigned char *to;
413 411 const suseconds_t delta = ktime_us_delta(ktime_get_real(),
414 dccp_timestamp(sk, &now); 412 dp->dccps_timestamp_time);
415 elapsed_time = timeval_delta(&now, &dp->dccps_timestamp_time) / 10; 413 u32 elapsed_time = delta / 10;
416 elapsed_time_len = dccp_elapsed_time_len(elapsed_time); 414 elapsed_time_len = dccp_elapsed_time_len(elapsed_time);
417 len = 6 + elapsed_time_len; 415 len = 6 + elapsed_time_len;
418 416
@@ -438,8 +436,7 @@ static int dccp_insert_option_timestamp_echo(struct sock *sk,
438 } 436 }
439 437
440 dp->dccps_timestamp_echo = 0; 438 dp->dccps_timestamp_echo = 0;
441 dp->dccps_timestamp_time.tv_sec = 0; 439 dp->dccps_timestamp_time = ktime_set(0, 0);
442 dp->dccps_timestamp_time.tv_usec = 0;
443 return 0; 440 return 0;
444} 441}
445 442