[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200429135609.GJ30459@lunn.ch>
Date: Wed, 29 Apr 2020 15:56:09 +0200
From: Andrew Lunn <andrew@...n.ch>
To: "Badel, Laurent" <LaurentBadel@...on.com>
Cc: "fugang.duan@....com" <fugang.duan@....com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"f.fainelli@...il.com" <f.fainelli@...il.com>,
"hkallweit1@...il.com" <hkallweit1@...il.com>,
"linux@...linux.org.uk" <linux@...linux.org.uk>,
"richard.leitner@...data.com" <richard.leitner@...data.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"alexander.levin@...rosoft.com" <alexander.levin@...rosoft.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"Quette, Arnaud" <ArnaudQuette@...on.com>
Subject: Re: [PATCH 1/2] Revert commit
1b0a83ac04e383e3bed21332962b90710fcf2828
On Wed, Apr 29, 2020 at 09:03:32AM +0000, Badel, Laurent wrote:
> Description: This patch reverts commit 1b0a83ac04e3
> ("net: fec: add phy_reset_after_clk_enable() support")
> which produces undesirable behavior when PHY interrupts are enabled.
>
> Rationale: the SMSC LAN8720 (and possibly other chips) is known
> to require a reset after the external clock is enabled. Calls to
> phy_reset_after_clk_enable() in fec_main.c have been introduced in
> commit 1b0a83ac04e3 ("net: fec: add phy_reset_after_clk_enable() support")
> to handle the chip reset after enabling the clock.
> However, this breaks when interrupts are enabled because
> the reset reverts the configuration of the PHY interrupt mask to default
> (in addition it also reverts the "energy detect" mode setting).
> As a result the driver does not receive the link status change
> and other notifications resulting in loss of connectivity.
>
> Proposed solution: revert commit 1b0a83ac04e3 and bring the reset
> before the PHY configuration by adding it to phy_init_hw() [phy_device.c].
>
> Test results: using an iMX28-EVK-based board, these 2 patches successfully
> restore network interface functionality when interrupts are enabled.
> Tested using both linux-5.4.23 and latest mainline (5.6.0) kernels.
>
> Fixes: 1b0a83ac04e383e3bed21332962b90710fcf2828 ("net: fec: add phy_reset_after_clk_enable() support")
> Signed-off-by: Laurent Badel <laurentbadel@...on.com>
Hi Laurent
Please also read https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt
Andrew
Powered by blists - more mailing lists