summaryrefslogtreecommitdiffstats
path: root/drivers/powercap
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2015-08-31 15:56:54 +0200
committerDavid S. Miller <davem@davemloft.net>2015-08-31 23:48:03 +0200
commitbc0f4a87fc7e45642455682f281de2131cde9695 (patch)
treee755ec8c049139469d67a5f239002ec68c743113 /drivers/powercap
parentphy: fixed_phy: Add gpio to determine link up/down. (diff)
downloadlinux-bc0f4a87fc7e45642455682f281de2131cde9695.tar.xz
linux-bc0f4a87fc7e45642455682f281de2131cde9695.zip
net: phy: fixed_phy: Set phy capabilities even when link down.
What features a phy supports is masked in genphy_config_init() by looking at the PHYs BMSR register. If the link is down, fixed_phy_update_regs() will only set the auto- negotiation capable bit in BMSR. Thus genphy_config_init() comes to the conclusion the PHY can only perform 10/Half, and masks out the higher speed features. If however the link it up, BMSR is set to indicate the speed the PHY is capable of auto-negotiating, and genphy_config_init() does not mask out the high speed features. To fix this, when the link is down, have fixed_phy_update_regs() leave the link status, auto-negotiation complete, and link partner capabilities unset, but set all the local capabilities depending on the fixed phy speed. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/powercap')
0 files changed, 0 insertions, 0 deletions