Lines Matching full:needed
100 /* Do reassembly if needed. */ in sctp_ulpq_tail_data()
103 /* Do ordering if needed. */ in sctp_ulpq_tail_data()
729 /* Do ordering if needed. */ in sctp_ulpq_reasm_drain()
959 * ordering and deliver them if needed. in sctp_ulpq_skip()
965 __u16 needed) in sctp_ulpq_renege_list() argument
1005 if (freed >= needed) in sctp_ulpq_renege_list()
1012 /* Renege 'needed' bytes from the ordering queue. */
1013 static __u16 sctp_ulpq_renege_order(struct sctp_ulpq *ulpq, __u16 needed) in sctp_ulpq_renege_order() argument
1015 return sctp_ulpq_renege_list(ulpq, &ulpq->lobby, needed); in sctp_ulpq_renege_order()
1018 /* Renege 'needed' bytes from the reassembly queue. */
1019 static __u16 sctp_ulpq_renege_frags(struct sctp_ulpq *ulpq, __u16 needed) in sctp_ulpq_renege_frags() argument
1021 return sctp_ulpq_renege_list(ulpq, &ulpq->reasm, needed); in sctp_ulpq_renege_frags()
1080 __u16 needed; in sctp_ulpq_renege() local
1082 needed = ntohs(chunk->chunk_hdr->length) - in sctp_ulpq_renege()
1086 freed = sctp_ulpq_renege_order(ulpq, needed); in sctp_ulpq_renege()
1087 if (freed < needed) in sctp_ulpq_renege()
1088 freed += sctp_ulpq_renege_frags(ulpq, needed - freed); in sctp_ulpq_renege()
1091 if (sk_rmem_schedule(asoc->base.sk, chunk->skb, needed) && in sctp_ulpq_renege()
1092 freed >= needed) { in sctp_ulpq_renege()