Re: [PATCH] Carrier detect ok, don't turn off negotiation

From: Denis Du
Date: Tue Feb 20 2018 - 22:35:52 EST


Hi, David:

How is your thinking about this patch?



>From b5902a4dfc709b62b704997ab64f31c9ef69a6db Mon Sep 17 00:00:00 2001
From: Denis Du <dudenis2000@xxxxxxxx>
Date: Mon, 15 Jan 2018 17:26:06 -0500
Subject: [PATCH] netdev: 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@xxxxxxxx>
---
drivers/net/wan/hdlc_ppp.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wan/hdlc_ppp.c b/drivers/net/wan/hdlc_ppp.c
index afeca6b..ab8b3cb 100644
--- a/drivers/net/wan/hdlc_ppp.c
+++ b/drivers/net/wan/hdlc_ppp.c
@@ -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;
--
2.1.4





On âTuesdayâ, âFebruaryâ â06â, â2018â â12â:â06â:â43â âPMâ âEST, Denis Du <dudenis2000@xxxxxxxx> wrote:







Ok, I submit it again.


In drivers/net/wan/hdlc_ppp.c, some noise on physical line can cause the carrier detect still ok, but the protocol will fail. So if carrier detect ok, don't turn off protocol negotiation

This patch is against the kernel version Linux 4.15-rc8





On Tuesday, February 6, 2018, 10:29:53 AM EST, David Miller <davem@xxxxxxxxxxxxx> wrote:





From: Denis Du <dudenis2000@xxxxxxxx>

Date: Tue, 6 Feb 2018 15:15:28 +0000 (UTC)

> How do you think my patch?
>
> As you see, Krzysztof think my patch is ok to be accepted.
> But if you have a better idea to fix it,I am glad to see it. Anyway, this issue have to be fixed.


Please resubmit it and I'll think about it again, thank you.