diff options
Diffstat (limited to 'net/sctp/outqueue.c')
-rw-r--r-- | net/sctp/outqueue.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c index bc411c896216..d765fc53e74d 100644 --- a/net/sctp/outqueue.c +++ b/net/sctp/outqueue.c | |||
@@ -428,7 +428,8 @@ void sctp_retransmit_mark(struct sctp_outq *q, | |||
428 | * retransmitting due to T3 timeout. | 428 | * retransmitting due to T3 timeout. |
429 | */ | 429 | */ |
430 | if (reason == SCTP_RTXR_T3_RTX && | 430 | if (reason == SCTP_RTXR_T3_RTX && |
431 | (jiffies - chunk->sent_at) < transport->last_rto) | 431 | time_before(jiffies, chunk->sent_at + |
432 | transport->last_rto)) | ||
432 | continue; | 433 | continue; |
433 | 434 | ||
434 | /* RFC 2960 6.2.1 Processing a Received SACK | 435 | /* RFC 2960 6.2.1 Processing a Received SACK |
@@ -1757,6 +1758,9 @@ static void sctp_generate_fwdtsn(struct sctp_outq *q, __u32 ctsn) | |||
1757 | struct sctp_chunk *chunk; | 1758 | struct sctp_chunk *chunk; |
1758 | struct list_head *lchunk, *temp; | 1759 | struct list_head *lchunk, *temp; |
1759 | 1760 | ||
1761 | if (!asoc->peer.prsctp_capable) | ||
1762 | return; | ||
1763 | |||
1760 | /* PR-SCTP C1) Let SackCumAck be the Cumulative TSN ACK carried in the | 1764 | /* PR-SCTP C1) Let SackCumAck be the Cumulative TSN ACK carried in the |
1761 | * received SACK. | 1765 | * received SACK. |
1762 | * | 1766 | * |