|
@@ -543,8 +543,8 @@ void sctp_transport_lower_cwnd(struct sctp_transport *transport,
|
|
* congestion indications more than once every window of
|
|
* congestion indications more than once every window of
|
|
* data (or more loosely more than once every round-trip time).
|
|
* data (or more loosely more than once every round-trip time).
|
|
*/
|
|
*/
|
|
- if ((jiffies - transport->last_time_ecne_reduced) >
|
|
|
|
- transport->rtt) {
|
|
|
|
|
|
+ if (time_after(jiffies, transport->last_time_ecne_reduced +
|
|
|
|
+ transport->rtt)) {
|
|
transport->ssthresh = max(transport->cwnd/2,
|
|
transport->ssthresh = max(transport->cwnd/2,
|
|
4*transport->asoc->pathmtu);
|
|
4*transport->asoc->pathmtu);
|
|
transport->cwnd = transport->ssthresh;
|
|
transport->cwnd = transport->ssthresh;
|
|
@@ -561,7 +561,8 @@ void sctp_transport_lower_cwnd(struct sctp_transport *transport,
|
|
* to be done every RTO interval, we do it every hearbeat
|
|
* to be done every RTO interval, we do it every hearbeat
|
|
* interval.
|
|
* interval.
|
|
*/
|
|
*/
|
|
- if ((jiffies - transport->last_time_used) > transport->rto)
|
|
|
|
|
|
+ if (time_after(jiffies, transport->last_time_used +
|
|
|
|
+ transport->rto))
|
|
transport->cwnd = max(transport->cwnd/2,
|
|
transport->cwnd = max(transport->cwnd/2,
|
|
4*transport->asoc->pathmtu);
|
|
4*transport->asoc->pathmtu);
|
|
break;
|
|
break;
|