hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/net/sctp/stream_sched.c
....@@ -1,25 +1,10 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /* SCTP kernel implementation
23 * (C) Copyright Red Hat Inc. 2017
34 *
45 * This file is part of the SCTP kernel implementation
56 *
67 * These functions manipulate sctp stream queue/scheduling.
7
- *
8
- * This SCTP implementation is free software;
9
- * you can redistribute it and/or modify it under the terms of
10
- * the GNU General Public License as published by
11
- * the Free Software Foundation; either version 2, or (at your option)
12
- * any later version.
13
- *
14
- * This SCTP implementation is distributed in the hope that it
15
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
16
- * ************************
17
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
- * See the GNU General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU General Public License
21
- * along with GNU CC; see the file COPYING. If not, see
22
- * <http://www.gnu.org/licenses/>.
238 *
249 * Please send any bug reports or fixes you make to the
2510 * email addresched(es):
....@@ -59,6 +44,10 @@
5944 gfp_t gfp)
6045 {
6146 return 0;
47
+}
48
+
49
+static void sctp_sched_fcfs_free_sid(struct sctp_stream *stream, __u16 sid)
50
+{
6251 }
6352
6453 static void sctp_sched_fcfs_free(struct sctp_stream *stream)
....@@ -111,6 +100,7 @@
111100 .get = sctp_sched_fcfs_get,
112101 .init = sctp_sched_fcfs_init,
113102 .init_sid = sctp_sched_fcfs_init_sid,
103
+ .free_sid = sctp_sched_fcfs_free_sid,
114104 .free = sctp_sched_fcfs_free,
115105 .enqueue = sctp_sched_fcfs_enqueue,
116106 .dequeue = sctp_sched_fcfs_dequeue,
....@@ -178,7 +168,7 @@
178168 if (!SCTP_SO(&asoc->stream, i)->ext)
179169 continue;
180170
181
- ret = n->init_sid(&asoc->stream, i, GFP_KERNEL);
171
+ ret = n->init_sid(&asoc->stream, i, GFP_ATOMIC);
182172 if (ret)
183173 goto err;
184174 }
....@@ -243,7 +233,7 @@
243233 void sctp_sched_dequeue_done(struct sctp_outq *q, struct sctp_chunk *ch)
244234 {
245235 if (!list_is_last(&ch->frag_list, &ch->msg->chunks) &&
246
- !q->asoc->intl_enable) {
236
+ !q->asoc->peer.intl_capable) {
247237 struct sctp_stream_out *sout;
248238 __u16 sid;
249239