aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/outqueue.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/outqueue.c')
-rw-r--r--net/sctp/outqueue.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index 3ec6da8bbb53..582585393d35 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -304,7 +304,7 @@ void sctp_outq_tail(struct sctp_outq *q, struct sctp_chunk *chunk, gfp_t gfp)
304 "illegal chunk"); 304 "illegal chunk");
305 305
306 sctp_outq_tail_data(q, chunk); 306 sctp_outq_tail_data(q, chunk);
307 if (chunk->asoc->prsctp_enable && 307 if (chunk->asoc->peer.prsctp_capable &&
308 SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags)) 308 SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags))
309 chunk->asoc->sent_cnt_removable++; 309 chunk->asoc->sent_cnt_removable++;
310 if (chunk->chunk_hdr->flags & SCTP_DATA_UNORDERED) 310 if (chunk->chunk_hdr->flags & SCTP_DATA_UNORDERED)
@@ -354,7 +354,7 @@ static int sctp_prsctp_prune_sent(struct sctp_association *asoc,
354 354
355 list_for_each_entry_safe(chk, temp, queue, transmitted_list) { 355 list_for_each_entry_safe(chk, temp, queue, transmitted_list) {
356 if (!SCTP_PR_PRIO_ENABLED(chk->sinfo.sinfo_flags) || 356 if (!SCTP_PR_PRIO_ENABLED(chk->sinfo.sinfo_flags) ||
357 chk->prsctp_param <= sinfo->sinfo_timetolive) 357 chk->sinfo.sinfo_timetolive <= sinfo->sinfo_timetolive)
358 continue; 358 continue;
359 359
360 list_del_init(&chk->transmitted_list); 360 list_del_init(&chk->transmitted_list);
@@ -389,7 +389,7 @@ static int sctp_prsctp_prune_unsent(struct sctp_association *asoc,
389 389
390 list_for_each_entry_safe(chk, temp, queue, list) { 390 list_for_each_entry_safe(chk, temp, queue, list) {
391 if (!SCTP_PR_PRIO_ENABLED(chk->sinfo.sinfo_flags) || 391 if (!SCTP_PR_PRIO_ENABLED(chk->sinfo.sinfo_flags) ||
392 chk->prsctp_param <= sinfo->sinfo_timetolive) 392 chk->sinfo.sinfo_timetolive <= sinfo->sinfo_timetolive)
393 continue; 393 continue;
394 394
395 list_del_init(&chk->list); 395 list_del_init(&chk->list);
@@ -413,7 +413,7 @@ void sctp_prsctp_prune(struct sctp_association *asoc,
413{ 413{
414 struct sctp_transport *transport; 414 struct sctp_transport *transport;
415 415
416 if (!asoc->prsctp_enable || !asoc->sent_cnt_removable) 416 if (!asoc->peer.prsctp_capable || !asoc->sent_cnt_removable)
417 return; 417 return;
418 418
419 msg_len = sctp_prsctp_prune_sent(asoc, sinfo, 419 msg_len = sctp_prsctp_prune_sent(asoc, sinfo,
@@ -1026,7 +1026,7 @@ static void sctp_outq_flush(struct sctp_outq *q, int rtx_timeout, gfp_t gfp)
1026 1026
1027 /* Mark as failed send. */ 1027 /* Mark as failed send. */
1028 sctp_chunk_fail(chunk, SCTP_ERROR_INV_STRM); 1028 sctp_chunk_fail(chunk, SCTP_ERROR_INV_STRM);
1029 if (asoc->prsctp_enable && 1029 if (asoc->peer.prsctp_capable &&
1030 SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags)) 1030 SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags))
1031 asoc->sent_cnt_removable--; 1031 asoc->sent_cnt_removable--;
1032 sctp_chunk_free(chunk); 1032 sctp_chunk_free(chunk);
@@ -1319,7 +1319,7 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_chunk *chunk)
1319 tsn = ntohl(tchunk->subh.data_hdr->tsn); 1319 tsn = ntohl(tchunk->subh.data_hdr->tsn);
1320 if (TSN_lte(tsn, ctsn)) { 1320 if (TSN_lte(tsn, ctsn)) {
1321 list_del_init(&tchunk->transmitted_list); 1321 list_del_init(&tchunk->transmitted_list);
1322 if (asoc->prsctp_enable && 1322 if (asoc->peer.prsctp_capable &&
1323 SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags)) 1323 SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags))
1324 asoc->sent_cnt_removable--; 1324 asoc->sent_cnt_removable--;
1325 sctp_chunk_free(tchunk); 1325 sctp_chunk_free(tchunk);