|
@@ -1222,6 +1222,8 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
sctp_cmd_seq_t *commands,
|
|
sctp_cmd_seq_t *commands,
|
|
gfp_t gfp)
|
|
gfp_t gfp)
|
|
{
|
|
{
|
|
|
|
+ struct sock *sk = ep->base.sk;
|
|
|
|
+ struct sctp_sock *sp = sctp_sk(sk);
|
|
int error = 0;
|
|
int error = 0;
|
|
int force;
|
|
int force;
|
|
sctp_cmd_t *cmd;
|
|
sctp_cmd_t *cmd;
|
|
@@ -1742,6 +1744,11 @@ out:
|
|
error = sctp_outq_uncork(&asoc->outqueue, gfp);
|
|
error = sctp_outq_uncork(&asoc->outqueue, gfp);
|
|
} else if (local_cork)
|
|
} else if (local_cork)
|
|
error = sctp_outq_uncork(&asoc->outqueue, gfp);
|
|
error = sctp_outq_uncork(&asoc->outqueue, gfp);
|
|
|
|
+
|
|
|
|
+ if (sp->pending_data_ready) {
|
|
|
|
+ sk->sk_data_ready(sk);
|
|
|
|
+ sp->pending_data_ready = 0;
|
|
|
|
+ }
|
|
return error;
|
|
return error;
|
|
nomem:
|
|
nomem:
|
|
error = -ENOMEM;
|
|
error = -ENOMEM;
|