Index: tcp_timer.c =================================================================== --- tcp_timer.c (revision 237202) +++ tcp_timer.c (working copy) @@ -675,37 +675,34 @@ bzero(xtimer, sizeof(struct xtcp_timer)); if (timer == NULL) return; + binuptime(&now); + tmp.sec = 0; + tmp.frac = 0; if (callout_active(&timer->tt_delack)) { - binuptime(&now); tmp = timer->tt_delack.c_time; bintime_sub(&tmp,&now); xtimer->tt_delack = bintime_to_msecs(tmp); } if (callout_active(&timer->tt_rexmt)) { - binuptime(&now); tmp = timer->tt_rexmt.c_time; bintime_sub(&tmp,&now); xtimer->tt_rexmt = bintime_to_msecs(tmp); } if (callout_active(&timer->tt_persist)) { - binuptime(&now); - tmp = timer->tt_persist.c_time; bintime_sub(&tmp,&now); xtimer->tt_persist = bintime_to_msecs(tmp); } if (callout_active(&timer->tt_keep)) { - binuptime(&now); tmp = timer->tt_keep.c_time; bintime_sub(&tmp,&now); xtimer->tt_keep = bintime_to_msecs(tmp); } if (callout_active(&timer->tt_2msl)) { - binuptime(&now); tmp = timer->tt_2msl.c_time; bintime_sub(&tmp,&now); xtimer->tt_2msl = bintime_to_msecs(tmp);