net: phy: check PMAPMD link status only in genphy_c45_read_link
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 22 Feb 2019 21:59:38 +0000 (22:59 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Feb 2019 01:42:58 +0000 (17:42 -0800)
commitc1164bb1a631205a28b9dd8d4a9331a689e85561
treeebd0f1239ea3da47e57895b6ccc66ddb6299e38c
parent87e0616eb479c741a0e338587689175406bc148b
net: phy: check PMAPMD link status only in genphy_c45_read_link

The current code reports a link as up if all devices (except a few
blacklisted ones) report the link as up. This breaks Aquantia AQCS109
for lower speeds because on this PHY the PCS link status reflects a
10G link only. For Marvell there's a similar issue, therefore PHYXS
device isn't checked.

There may be more PHYs where depending on the mode the link status
of only selected devices is relevant.

For now it seems to be sufficient to check the link status of the
PMAPMD device only. Leave the loop in the code to be prepared in
case we have to add functionality to check more than one device,
depending on the mode.

Successfully tested on a board with an AQCS109.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy-c45.c