]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/sctp/output.c
lib/vsprintf.c: remove %Z support
[karo-tx-linux.git] / net / sctp / output.c
index 814eac047467c5b9fe8fdb4dd6b21a57812b3e1f..71ce6b945dcb54d831425bdb02e315a14dae69ef 100644 (file)
@@ -177,7 +177,7 @@ sctp_xmit_t sctp_packet_transmit_chunk(struct sctp_packet *packet,
 {
        sctp_xmit_t retval;
 
-       pr_debug("%s: packet:%p size:%Zu chunk:%p size:%d\n", __func__,
+       pr_debug("%s: packet:%p size:%zu chunk:%p size:%d\n", __func__,
                 packet, packet->size, chunk, chunk->skb ? chunk->skb->len : -1);
 
        switch ((retval = (sctp_packet_append_chunk(packet, chunk)))) {
@@ -704,18 +704,15 @@ static sctp_xmit_t sctp_packet_can_append_data(struct sctp_packet *packet,
         * unacknowledged.
         */
 
-       if (sctp_sk(asoc->base.sk)->nodelay)
-               /* Nagle disabled */
+       if ((sctp_sk(asoc->base.sk)->nodelay || inflight == 0) &&
+           !chunk->msg->force_delay)
+               /* Nothing unacked */
                return SCTP_XMIT_OK;
 
        if (!sctp_packet_empty(packet))
                /* Append to packet */
                return SCTP_XMIT_OK;
 
-       if (inflight == 0)
-               /* Nothing unacked */
-               return SCTP_XMIT_OK;
-
        if (!sctp_state(asoc, ESTABLISHED))
                return SCTP_XMIT_OK;