summaryrefslogtreecommitdiffstats
path: root/net/ipv6/ndisc.c
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 14:48:03 -0700
commitbc0f4a87fc7e45642455682f281de2131cde9695 (patch)
treee755ec8c049139469d67a5f239002ec68c743113 /net/ipv6/ndisc.c
parenta5597008dbc230876db2d344561d634f4d52ea4a (diff)
downloadop-kernel-dev-bc0f4a87fc7e45642455682f281de2131cde9695.zip
op-kernel-dev-bc0f4a87fc7e45642455682f281de2131cde9695.tar.gz
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 'net/ipv6/ndisc.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud