mirror of
https://github.com/torvalds/linux.git
synced 2026-09-20 09:40:02 +02:00
MAC_AUTO_SW (VR_MII_DIG_CTRL1 bit 9) enables automatic XPCS speed
mode switching after CL37 auto-negotiation and is only meaningful in
SGMII MAC mode. The original code unconditionally set this bit on
every call to xgbe_an37_set(), including when called from
xgbe_an37_disable() with enable=false. This left MAC_AUTO_SW=1 after
AN was disabled, causing the XPCS to autonomously switch speed from
stale AN state during subsequent mode changes, breaking SGMII speed
negotiation on 1G copper SFP modules.
Patrick: This was breaking negotiation for all 1G SFP modules,
not just copper modules.
Fixes:
|
||
|---|---|---|
| .. | ||
| Makefile | ||
| xgbe-common.h | ||
| xgbe-dcb.c | ||
| xgbe-debugfs.c | ||
| xgbe-desc.c | ||
| xgbe-dev.c | ||
| xgbe-drv.c | ||
| xgbe-ethtool.c | ||
| xgbe-hwtstamp.c | ||
| xgbe-i2c.c | ||
| xgbe-main.c | ||
| xgbe-mdio.c | ||
| xgbe-pci.c | ||
| xgbe-phy-v1.c | ||
| xgbe-phy-v2.c | ||
| xgbe-platform.c | ||
| xgbe-pps.c | ||
| xgbe-ptp.c | ||
| xgbe-selftest.c | ||
| xgbe-smn.h | ||
| xgbe.h | ||