int last_key;
        int key_changed_at;
 
-       /* Default timeouts.  */
-       int timeouts[SCTP_NUM_TIMEOUT_TYPES];
-
        /* sendbuf acct. policy.        */
        __u32 sndbuf_policy;
 };
 
         */
        asoc->max_burst = sctp_max_burst;
 
-       /* Copy things from the endpoint.  */
+       /* initialize association timers */
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_NONE] = 0;
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_COOKIE] = asoc->rto_initial;
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_INIT] = asoc->rto_initial;
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_T2_SHUTDOWN] = asoc->rto_initial;
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_T3_RTX] = 0;
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_T4_RTO] = 0;
+
+       /* sctpimpguide Section 2.12.2
+        * If the 'T5-shutdown-guard' timer is used, it SHOULD be set to the
+        * recommended value of 5 times 'RTO.Max'.
+        */
+        asoc->timeouts[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD]
+               = 5 * asoc->rto_max;
+
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_HEARTBEAT] = 0;
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_SACK] =
+               SCTP_DEFAULT_TIMEOUT_SACK;
+       asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] =
+               sp->autoclose * HZ;
+       
+       /* Initilizes the timers */
        for (i = SCTP_EVENT_TIMEOUT_NONE; i < SCTP_NUM_TIMEOUT_TYPES; ++i) {
-               asoc->timeouts[i] = ep->timeouts[i];
                init_timer(&asoc->timers[i]);
                asoc->timers[i].function = sctp_timer_events[i];
                asoc->timers[i].data = (unsigned long) asoc;
 
                                                struct sock *sk,
                                                gfp_t gfp)
 {
-       struct sctp_sock *sp = sctp_sk(sk);
        memset(ep, 0, sizeof(struct sctp_endpoint));
 
        /* Initialize the base structure. */
        /* Create the lists of associations.  */
        INIT_LIST_HEAD(&ep->asocs);
 
-       /* Set up the base timeout information.  */
-       ep->timeouts[SCTP_EVENT_TIMEOUT_NONE] = 0;
-       ep->timeouts[SCTP_EVENT_TIMEOUT_T1_COOKIE] =
-               msecs_to_jiffies(sp->rtoinfo.srto_initial);
-       ep->timeouts[SCTP_EVENT_TIMEOUT_T1_INIT] =
-               msecs_to_jiffies(sp->rtoinfo.srto_initial);
-       ep->timeouts[SCTP_EVENT_TIMEOUT_T2_SHUTDOWN] =
-               msecs_to_jiffies(sp->rtoinfo.srto_initial);
-       ep->timeouts[SCTP_EVENT_TIMEOUT_T3_RTX] = 0;
-       ep->timeouts[SCTP_EVENT_TIMEOUT_T4_RTO] = 0;
-
-       /* sctpimpguide-05 Section 2.12.2
-        * If the 'T5-shutdown-guard' timer is used, it SHOULD be set to the
-        * recommended value of 5 times 'RTO.Max'.
-        */
-        ep->timeouts[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD]
-               = 5 * msecs_to_jiffies(sp->rtoinfo.srto_max);
-
-       ep->timeouts[SCTP_EVENT_TIMEOUT_HEARTBEAT] = 0;
-       ep->timeouts[SCTP_EVENT_TIMEOUT_SACK] = sctp_sack_timeout;
-       ep->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] = sp->autoclose * HZ;
-
        /* Use SCTP specific send buffer space queues.  */
        ep->sndbuf_policy = sctp_sndbuf_policy;
        sk->sk_write_space = sctp_write_space;
 
        NULL,
        sctp_generate_t4_rto_event,
        sctp_generate_t5_shutdown_guard_event,
-       sctp_generate_heartbeat_event,
+       NULL,
        sctp_generate_sack_event,
        sctp_generate_autoclose_event,
 };
                 * increased due to timer expirations.
                 */
                asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_INIT] =
-                       asoc->ep->timeouts[SCTP_EVENT_TIMEOUT_T1_INIT];
+                                               asoc->rto_initial;
                asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_COOKIE] =
-                       asoc->ep->timeouts[SCTP_EVENT_TIMEOUT_T1_COOKIE];
+                                               asoc->rto_initial;
        }
 
        if (sctp_state(asoc, ESTABLISHED) ||
 
        if (copy_from_user(&sp->autoclose, optval, optlen))
                return -EFAULT;
 
-       sp->ep->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] = sp->autoclose * HZ;
        return 0;
 }