]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: bcmgenet: reset 40nm EPHY on energy detect
authorDoug Berger <opendmb@gmail.com>
Wed, 16 Oct 2019 23:06:32 +0000 (16:06 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 19 Dec 2019 15:58:38 +0000 (15:58 +0000)
commit6a6055236ee213d71e334fbc0bc86ecb1f3d01c1
tree41dad154adb45a63cb496b334935ce50a1253276
parent07bc7073ae0339e3e24b19f319e0d1902ea42a9c
net: bcmgenet: reset 40nm EPHY on energy detect

commit 25382b991d252aed961cd434176240f9de6bb15f upstream.

The EPHY integrated into the 40nm Set-Top Box devices can falsely
detect energy when connected to a disabled peer interface. When the
peer interface is enabled the EPHY will detect and report the link
as active, but on occasion may get into a state where it is not
able to exchange data with the connected GENET MAC. This issue has
not been observed when the link parameters are auto-negotiated;
however, it has been observed with a manually configured link.

It has been empirically determined that issuing a soft reset to the
EPHY when energy is detected prevents it from getting into this bad
state.

Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/broadcom/genet/bcmgenet.c