ktime_to_ns(ktime_sub(skb->tstamp, max_age)));
}
- resend_at = ktime_sub(ktime_add_ms(oldest, rxrpc_resend_timeout), now);
- call->resend_at = jiffies + nsecs_to_jiffies(ktime_to_ns(resend_at));
+ resend_at = ktime_add_ms(oldest, rxrpc_resend_timeout);
+ call->resend_at = jiffies +
+ nsecs_to_jiffies(ktime_to_ns(ktime_sub(resend_at, now))) +
+ 1; /* We have to make sure that the calculated jiffies value
+ * falls at or after the nsec value, or we shall loop
+ * ceaselessly because the timer times out, but we haven't
+ * reached the nsec timeout yet.
+ */
/* Now go through the Tx window and perform the retransmissions. We
* have to drop the lock for each send. If an ACK comes in whilst the