aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/associola.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/associola.c')
-rw-r--r--net/sctp/associola.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index ed0445fe85e7..88124696ba60 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -61,7 +61,7 @@
61#include <net/sctp/sm.h> 61#include <net/sctp/sm.h>
62 62
63/* Forward declarations for internal functions. */ 63/* Forward declarations for internal functions. */
64static void sctp_assoc_bh_rcv(struct sctp_association *asoc); 64static void sctp_assoc_bh_rcv(struct work_struct *work);
65 65
66 66
67/* 1st Level Abstractions. */ 67/* 1st Level Abstractions. */
@@ -269,9 +269,7 @@ static struct sctp_association *sctp_association_init(struct sctp_association *a
269 269
270 /* Create an input queue. */ 270 /* Create an input queue. */
271 sctp_inq_init(&asoc->base.inqueue); 271 sctp_inq_init(&asoc->base.inqueue);
272 sctp_inq_set_th_handler(&asoc->base.inqueue, 272 sctp_inq_set_th_handler(&asoc->base.inqueue, sctp_assoc_bh_rcv);
273 (void (*)(void *))sctp_assoc_bh_rcv,
274 asoc);
275 273
276 /* Create an output queue. */ 274 /* Create an output queue. */
277 sctp_outq_init(asoc, &asoc->outqueue); 275 sctp_outq_init(asoc, &asoc->outqueue);
@@ -944,8 +942,11 @@ out:
944} 942}
945 943
946/* Do delayed input processing. This is scheduled by sctp_rcv(). */ 944/* Do delayed input processing. This is scheduled by sctp_rcv(). */
947static void sctp_assoc_bh_rcv(struct sctp_association *asoc) 945static void sctp_assoc_bh_rcv(struct work_struct *work)
948{ 946{
947 struct sctp_association *asoc =
948 container_of(work, struct sctp_association,
949 base.inqueue.immediate);
949 struct sctp_endpoint *ep; 950 struct sctp_endpoint *ep;
950 struct sctp_chunk *chunk; 951 struct sctp_chunk *chunk;
951 struct sock *sk; 952 struct sock *sk;