diff options
Diffstat (limited to 'net/sctp/ulpqueue.c')
-rw-r--r-- | net/sctp/ulpqueue.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sctp/ulpqueue.c b/net/sctp/ulpqueue.c index 0225d62a869f..a71be33f3afe 100644 --- a/net/sctp/ulpqueue.c +++ b/net/sctp/ulpqueue.c | |||
@@ -265,7 +265,8 @@ int sctp_ulpq_tail_event(struct sctp_ulpq *ulpq, struct sctp_ulpevent *event) | |||
265 | sctp_ulpq_clear_pd(ulpq); | 265 | sctp_ulpq_clear_pd(ulpq); |
266 | 266 | ||
267 | if (queue == &sk->sk_receive_queue && !sp->data_ready_signalled) { | 267 | if (queue == &sk->sk_receive_queue && !sp->data_ready_signalled) { |
268 | sp->data_ready_signalled = 1; | 268 | if (!sock_owned_by_user(sk)) |
269 | sp->data_ready_signalled = 1; | ||
269 | sk->sk_data_ready(sk); | 270 | sk->sk_data_ready(sk); |
270 | } | 271 | } |
271 | return 1; | 272 | return 1; |