diff options
author | David Howells <dhowells@redhat.com> | 2006-11-22 09:57:56 -0500 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2006-11-22 09:57:56 -0500 |
commit | c4028958b6ecad064b1a6303a6a5906d4fe48d73 (patch) | |
tree | 1c4c89652c62a75da09f9b9442012007e4ac6250 /net/sctp | |
parent | 65f27f38446e1976cc98fd3004b110fedcddd189 (diff) |
WorkStruct: make allyesconfig
Fix up for make allyesconfig.
Signed-Off-By: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/sctp')
-rw-r--r-- | net/sctp/associola.c | 11 | ||||
-rw-r--r-- | net/sctp/endpointola.c | 10 | ||||
-rw-r--r-- | net/sctp/inqueue.c | 9 |
3 files changed, 16 insertions, 14 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. */ |
64 | static void sctp_assoc_bh_rcv(struct sctp_association *asoc); | 64 | static 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(). */ |
947 | static void sctp_assoc_bh_rcv(struct sctp_association *asoc) | 945 | static 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; |
diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c index 9b6b394b66f6..a2b553721514 100644 --- a/net/sctp/endpointola.c +++ b/net/sctp/endpointola.c | |||
@@ -61,7 +61,7 @@ | |||
61 | #include <net/sctp/sm.h> | 61 | #include <net/sctp/sm.h> |
62 | 62 | ||
63 | /* Forward declarations for internal helpers. */ | 63 | /* Forward declarations for internal helpers. */ |
64 | static void sctp_endpoint_bh_rcv(struct sctp_endpoint *ep); | 64 | static void sctp_endpoint_bh_rcv(struct work_struct *work); |
65 | 65 | ||
66 | /* | 66 | /* |
67 | * Initialize the base fields of the endpoint structure. | 67 | * Initialize the base fields of the endpoint structure. |
@@ -85,8 +85,7 @@ static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep, | |||
85 | sctp_inq_init(&ep->base.inqueue); | 85 | sctp_inq_init(&ep->base.inqueue); |
86 | 86 | ||
87 | /* Set its top-half handler */ | 87 | /* Set its top-half handler */ |
88 | sctp_inq_set_th_handler(&ep->base.inqueue, | 88 | sctp_inq_set_th_handler(&ep->base.inqueue, sctp_endpoint_bh_rcv); |
89 | (void (*)(void *))sctp_endpoint_bh_rcv, ep); | ||
90 | 89 | ||
91 | /* Initialize the bind addr area */ | 90 | /* Initialize the bind addr area */ |
92 | sctp_bind_addr_init(&ep->base.bind_addr, 0); | 91 | sctp_bind_addr_init(&ep->base.bind_addr, 0); |
@@ -311,8 +310,11 @@ int sctp_endpoint_is_peeled_off(struct sctp_endpoint *ep, | |||
311 | /* Do delayed input processing. This is scheduled by sctp_rcv(). | 310 | /* Do delayed input processing. This is scheduled by sctp_rcv(). |
312 | * This may be called on BH or task time. | 311 | * This may be called on BH or task time. |
313 | */ | 312 | */ |
314 | static void sctp_endpoint_bh_rcv(struct sctp_endpoint *ep) | 313 | static void sctp_endpoint_bh_rcv(struct work_struct *work) |
315 | { | 314 | { |
315 | struct sctp_endpoint *ep = | ||
316 | container_of(work, struct sctp_endpoint, | ||
317 | base.inqueue.immediate); | ||
316 | struct sctp_association *asoc; | 318 | struct sctp_association *asoc; |
317 | struct sock *sk; | 319 | struct sock *sk; |
318 | struct sctp_transport *transport; | 320 | struct sctp_transport *transport; |
diff --git a/net/sctp/inqueue.c b/net/sctp/inqueue.c index cf6deed7e849..71b07466e880 100644 --- a/net/sctp/inqueue.c +++ b/net/sctp/inqueue.c | |||
@@ -54,7 +54,7 @@ void sctp_inq_init(struct sctp_inq *queue) | |||
54 | queue->in_progress = NULL; | 54 | queue->in_progress = NULL; |
55 | 55 | ||
56 | /* Create a task for delivering data. */ | 56 | /* Create a task for delivering data. */ |
57 | INIT_WORK(&queue->immediate, NULL, NULL); | 57 | INIT_WORK(&queue->immediate, NULL); |
58 | 58 | ||
59 | queue->malloced = 0; | 59 | queue->malloced = 0; |
60 | } | 60 | } |
@@ -97,7 +97,7 @@ void sctp_inq_push(struct sctp_inq *q, struct sctp_chunk *chunk) | |||
97 | * on the BH related data structures. | 97 | * on the BH related data structures. |
98 | */ | 98 | */ |
99 | list_add_tail(&chunk->list, &q->in_chunk_list); | 99 | list_add_tail(&chunk->list, &q->in_chunk_list); |
100 | q->immediate.func(q->immediate.data); | 100 | q->immediate.func(&q->immediate); |
101 | } | 101 | } |
102 | 102 | ||
103 | /* Extract a chunk from an SCTP inqueue. | 103 | /* Extract a chunk from an SCTP inqueue. |
@@ -205,9 +205,8 @@ struct sctp_chunk *sctp_inq_pop(struct sctp_inq *queue) | |||
205 | * The intent is that this routine will pull stuff out of the | 205 | * The intent is that this routine will pull stuff out of the |
206 | * inqueue and process it. | 206 | * inqueue and process it. |
207 | */ | 207 | */ |
208 | void sctp_inq_set_th_handler(struct sctp_inq *q, | 208 | void sctp_inq_set_th_handler(struct sctp_inq *q, work_func_t callback) |
209 | void (*callback)(void *), void *arg) | ||
210 | { | 209 | { |
211 | INIT_WORK(&q->immediate, callback, arg); | 210 | INIT_WORK(&q->immediate, callback); |
212 | } | 211 | } |
213 | 212 | ||