summaryrefslogtreecommitdiff
path: root/net/sctp/output.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-01-14 14:14:47 +0000
committerMark Brown <broonie@linaro.org>2014-01-14 14:14:47 +0000
commit13ea3300100ec3461560b1e061033cd167333a86 (patch)
treec60a016a06c488adada6959516e2a2de96d6d7d3 /net/sctp/output.c
parentb7ed6b88b2a5e961eeb939ef637a3cbb435a23a7 (diff)
parent68e67d97e1f91ed11e041b67f3a1336f518c608f (diff)
Merge branch 'topic/rcar' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-rspi
Diffstat (limited to 'net/sctp/output.c')
-rw-r--r--net/sctp/output.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sctp/output.c b/net/sctp/output.c
index e650978daf27..0fb140f8f088 100644
--- a/net/sctp/output.c
+++ b/net/sctp/output.c
@@ -474,10 +474,11 @@ int sctp_packet_transmit(struct sctp_packet *packet)
* for a given destination transport address.
*/
- if (!tp->rto_pending) {
+ if (!chunk->resent && !tp->rto_pending) {
chunk->rtt_in_progress = 1;
tp->rto_pending = 1;
}
+
has_data = 1;
}
@@ -580,7 +581,8 @@ int sctp_packet_transmit(struct sctp_packet *packet)
unsigned long timeout;
/* Restart the AUTOCLOSE timer when sending data. */
- if (sctp_state(asoc, ESTABLISHED) && asoc->autoclose) {
+ if (sctp_state(asoc, ESTABLISHED) &&
+ asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE]) {
timer = &asoc->timers[SCTP_EVENT_TIMEOUT_AUTOCLOSE];
timeout = asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE];