]> git.hungrycats.org Git - linux/commitdiff
[SCTP] Fix incorrect INIT process termination with sinit_max_init_timeo.
authorSridhar Samudrala <sri@us.ibm.com>
Fri, 27 Feb 2004 01:45:39 +0000 (17:45 -0800)
committerSridhar Samudrala <sri@us.ibm.com>
Fri, 27 Feb 2004 01:45:39 +0000 (17:45 -0800)
Currently, sinit_max_init_timeo is treated as the maximum timeout
value for INIT retransmissions and the INIT process is aborted when
the timeout reaches this value. But as per the SCTP sockets API draft,
sinit_max_init_timeo only limits the timeout. The INIT process should
be aborted only after MAX_INIT_RETRANSMITS.

net/sctp/sm_statefuns.c

index 37d73a01097edd40928096f50ede0be4e60e658f..c6d52301a6b0804349380c52325f5146b776603d 100644 (file)
@@ -4272,8 +4272,7 @@ sctp_disposition_t sctp_sf_t1_timer_expire(const struct sctp_endpoint *ep,
 
        SCTP_DEBUG_PRINTK("Timer T1 expired.\n");
 
-       if ((timeout < asoc->max_init_timeo) &&
-           (attempts < asoc->max_init_attempts)) {
+       if (attempts < asoc->max_init_attempts) {
                switch (timer) {
                case SCTP_EVENT_TIMEOUT_T1_INIT:
                        bp = (struct sctp_bind_addr *) &asoc->base.bind_addr;