mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-27 05:12:02 +00:00
Link speed advertising in igc has two problems:
- When setting the advertisement via ethtool, the link speed is converted
to the legacy 32 bit representation for the intel PHY code.
This inadvertently drops ETHTOOL_LINK_MODE_2500baseT_Full_BIT (being
beyond bit 31). As a result, any call to `ethtool -s ...' drops the
2500Mbit/s link speed from the PHY settings. Only reloading the driver
alleviates that problem.
Fix this by converting the ETHTOOL_LINK_MODE_2500baseT_Full_BIT to the
Intel PHY ADVERTISE_2500_FULL bit explicitly.
- Rather than checking the actual PHY setting, the .get_link_ksettings
function always fills link_modes.advertising with all link speeds
the device is capable of.
Fix this by checking the PHY autoneg_advertised settings and report
only the actually advertised speeds up to ethtool.
Fixes:
|
||
|---|---|---|
| .. | ||
| igc_base.c | ||
| igc_base.h | ||
| igc_defines.h | ||
| igc_diag.c | ||
| igc_diag.h | ||
| igc_dump.c | ||
| igc_ethtool.c | ||
| igc_hw.h | ||
| igc_i225.c | ||
| igc_i225.h | ||
| igc_mac.c | ||
| igc_mac.h | ||
| igc_main.c | ||
| igc_nvm.c | ||
| igc_nvm.h | ||
| igc_phy.c | ||
| igc_phy.h | ||
| igc_ptp.c | ||
| igc_regs.h | ||
| igc_tsn.c | ||
| igc_tsn.h | ||
| igc.h | ||
| Makefile | ||