]> git.baikalelectronics.ru Git - kernel.git/commit
net: phy: broadcom: rehook BCM54612E specific init
authorRafał Miłecki <rafal@milecki.pl>
Tue, 31 Jan 2017 21:54:54 +0000 (22:54 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Feb 2017 19:20:20 +0000 (14:20 -0500)
commit4e3634153a365742ab8a6da5fef0c63b81b2967e
treed66ae203ddc68ae0ca919224e541992e29e1bd68
parenta11d1d78b2daee52b30339f660228ac9b4d970e0
net: phy: broadcom: rehook BCM54612E specific init

This extra BCM54612E code in PHY driver isn't really aneg specific. Even
without it aneg works OK but the problem is no packets pass through PHY.

Moreover putting this code inside config_aneg callback didn't allow
resuming PHY correctly. When driver called phy_stop and phy_start it was
putting PHY machine into RESUMING state. After that machine was
switching into AN and NOLINK without ever calling phy_start_aneg. This
prevented this extra setup from being called and PHY didn't work.

This change has been verified to fix network on BCM47186B0 SoC device
with BCM54612E.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/broadcom.c