mirror of https://gitee.com/openkylin/linux.git
4ab7f91381
MoCA interfaces require the use of an user-space daemon (mocad) which will typically use cmd->autoneg to force the link. This is causing other network manager applications not to get proper carrier down notifications because of the following sequence of events: - link down interrupt is received, link is set to 0 by the interrupt handler - fixed_link update callback runs and updates the BMSR register accordingly - PHY library polls the PHY for link status, sees the link is down, proceeds with reporting that - mocad gets notified of the link state and call phy_ethtool_sset() with cmd->autoneg set to the link status (0) - phy_start_aneg() is called at the end of phy_ethtool_sset() and sets the PHY state to PHY_FORCING Just make sure we notify the interface carrier appropriately when we detect that the link is down in our fixed_link update callback. This is made local to the bcm_sf2 driver as the PHY library does the right thing in any case. This is similar to the GENET change introduced in |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
bcm_sf2.c | ||
bcm_sf2.h | ||
bcm_sf2_regs.h | ||
mv88e6xxx.c | ||
mv88e6xxx.h | ||
mv88e6060.c | ||
mv88e6123_61_65.c | ||
mv88e6131.c | ||
mv88e6171.c | ||
mv88e6352.c |