diff options
Diffstat (limited to 'net/sctp/endpointola.c')
-rw-r--r-- | net/sctp/endpointola.c | 10 |
1 files changed, 6 insertions, 4 deletions
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; |