/* dccp_sample_rtt - Validate and finalise computation of RTT sample @delta: number of microseconds between packet and acknowledgment The routine is kept generic to work in different contexts. It should be called immediately when the ACK used for the RTT sample arrives.  */
u32 dccp_sample_rtt(struct sock *sk, long delta)
/* dccp_sample_rtt - Validate and finalise computation of RTT sample @delta: number of microseconds between packet and acknowledgment The routine is kept generic to work in different contexts. It should be called immediately when the ACK used for the RTT sample arrives.  */
u32 dccp_sample_rtt(struct sock *sk, long delta)
{
	delta -= dccp_sk(sk)->dccps_options_received.dccpor_elapsed_time * 10;
	if (unlikely(delta <= 0)) {
		DCCP_WARN("unusable RTT sample %ld, using min\n", delta);
		return DCCP_SANE_RTT_MIN;
	}
	if (unlikely(delta > DCCP_SANE_RTT_MAX)) {
		DCCP_WARN("RTT sample %ld too large, using max\n", delta);
		return DCCP_SANE_RTT_MAX;
	}
	return delta;
}