if (!sctp_ulpevent_is_enabled(event, ulpq->asoc->subscribe))
                goto out_free;
 
-       if (skb_list)
-               skb_queue_splice_tail_init(skb_list,
-                                          &sk->sk_receive_queue);
-       else
-               __skb_queue_tail(&sk->sk_receive_queue, skb);
+       skb_queue_splice_tail_init(skb_list,
+                                  &sk->sk_receive_queue);
 
        if (!sp->data_ready_signalled) {
                sp->data_ready_signalled = 1;
        return 1;
 
 out_free:
-       if (skb_list)
-               sctp_queue_purge_ulpevents(skb_list);
-       else
-               sctp_ulpevent_free(event);
+       sctp_queue_purge_ulpevents(skb_list);
 
        return 0;
 }