aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/socket.c')
-rw-r--r--net/sctp/socket.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index a7e544e3f28a..95a5623d79a0 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -1814,20 +1814,22 @@ SCTP_STATIC int sctp_sendmsg(struct kiocb *iocb, struct sock *sk,
1814 sctp_set_owner_w(chunk); 1814 sctp_set_owner_w(chunk);
1815 1815
1816 chunk->transport = chunk_tp; 1816 chunk->transport = chunk_tp;
1817
1818 /* Send it to the lower layers. Note: all chunks
1819 * must either fail or succeed. The lower layer
1820 * works that way today. Keep it that way or this
1821 * breaks.
1822 */
1823 err = sctp_primitive_SEND(asoc, chunk);
1824 /* Did the lower layer accept the chunk? */
1825 if (err)
1826 sctp_chunk_free(chunk);
1827 SCTP_DEBUG_PRINTK("We sent primitively.\n");
1828 } 1817 }
1829 1818
1830 sctp_datamsg_put(datamsg); 1819 /* Send it to the lower layers. Note: all chunks
1820 * must either fail or succeed. The lower layer
1821 * works that way today. Keep it that way or this
1822 * breaks.
1823 */
1824 err = sctp_primitive_SEND(asoc, datamsg);
1825 /* Did the lower layer accept the chunk? */
1826 if (err)
1827 sctp_datamsg_free(datamsg);
1828 else
1829 sctp_datamsg_put(datamsg);
1830
1831 SCTP_DEBUG_PRINTK("We sent primitively.\n");
1832
1831 if (err) 1833 if (err)
1832 goto out_free; 1834 goto out_free;
1833 else 1835 else