diff --git a/usr.sbin/ppp/datalink.c b/usr.sbin/ppp/datalink.c index e3e248ea613..5f8544f387b 100644 --- a/usr.sbin/ppp/datalink.c +++ b/usr.sbin/ppp/datalink.c @@ -93,19 +93,16 @@ datalink_StartDialTimer(struct datalink *dl, int Timeout) timer_Stop(&dl->dial.timer); if (Timeout) { - if (Timeout > 0) - dl->dial.timer.load = Timeout * SECTICKS; - else { + if (Timeout < 0) result = (random() % DIAL_TIMEOUT) + 1; - dl->dial.timer.load = result * SECTICKS; - } + dl->dial.timer.load = result * SECTICKS; dl->dial.timer.func = datalink_OpenTimeout; dl->dial.timer.name = "dial"; dl->dial.timer.arg = dl; timer_Start(&dl->dial.timer); if (dl->state == DATALINK_OPENING) log_Printf(LogPHASE, "%s: Enter pause (%d) for redialing.\n", - dl->name, Timeout); + dl->name, result); } return result; }