mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +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.h | ||
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 | ||
Makefile |