diff options
Diffstat (limited to 'net/dccp/options.c')
-rw-r--r-- | net/dccp/options.c | 13 |
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 | ||