hdlc_ppp: carrier detect ok, don't turn off negotiation
Sometimes when physical lines have a just good noise to make the protocol handshaking fail, but the carrier detect still good. Then after remove of the noise, nobody will trigger this protocol to be start again to cause the link to never come back. The fix is when the carrier is still on, not terminate the protocol handshaking. Signed-off-by: Denis Du <dudenis2000@yahoo.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
1bb4f2e868
Коммит
b6c3bad1ba
|
@ -574,7 +574,10 @@ static void ppp_timer(struct timer_list *t)
|
|||
ppp_cp_event(proto->dev, proto->pid, TO_GOOD, 0, 0,
|
||||
0, NULL);
|
||||
proto->restart_counter--;
|
||||
} else
|
||||
} else if (netif_carrier_ok(proto->dev))
|
||||
ppp_cp_event(proto->dev, proto->pid, TO_GOOD, 0, 0,
|
||||
0, NULL);
|
||||
else
|
||||
ppp_cp_event(proto->dev, proto->pid, TO_BAD, 0, 0,
|
||||
0, NULL);
|
||||
break;
|
||||
|
|
Загрузка…
Ссылка в новой задаче