linux/drivers/net/ethernet/intel/igc
Corinna Vinschen 329a3678ec igc: fix link speed advertising
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: 8c5ad0dae9 ("igc: Add ethtool support")
Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-01-26 13:39:26 -08:00
..
igc.h igc: Export a way to read the PTP timer 2020-09-28 14:42:46 -07:00
igc_base.c igc: Add new device ID 2020-12-10 13:13:24 -08:00
igc_base.h
igc_defines.h igc: Clean RX descriptor error flags 2020-09-28 14:42:45 -07:00
igc_diag.c igc: add support to eeprom, registers and link self-tests 2020-05-18 15:06:28 -07:00
igc_diag.h igc: add support to eeprom, registers and link self-tests 2020-05-18 15:06:28 -07:00
igc_dump.c igc: Remove unused registers 2020-05-19 16:00:00 -07:00
igc_ethtool.c igc: fix link speed advertising 2021-01-26 13:39:26 -08:00
igc_hw.h igc: Add new device ID 2020-12-10 13:13:24 -08:00
igc_i225.c igc: Add initial LTR support 2020-06-29 18:21:09 -07:00
igc_i225.h igc: Add initial LTR support 2020-06-29 18:21:09 -07:00
igc_mac.c igc: Fix static checker warning 2020-07-27 08:49:32 -07:00
igc_mac.h igc: remove IGC_REMOVED function 2020-05-19 15:01:48 -07:00
igc_main.c igc: Add new device ID 2020-12-10 13:13:24 -08:00
igc_nvm.c
igc_nvm.h
igc_phy.c igc: Add PHY power management control 2020-01-17 09:55:34 -08:00
igc_phy.h
igc_ptp.c igc: Export a way to read the PTP timer 2020-09-28 14:42:46 -07:00
igc_regs.h igc: Clean up the hw_stats structure 2020-07-27 08:49:32 -07:00
igc_tsn.c igc: Add support for ETF offloading 2020-04-17 10:19:24 -07:00
igc_tsn.h igc: Add support for taprio offloading 2020-04-17 10:19:24 -07:00
Makefile igc: add support to eeprom, registers and link self-tests 2020-05-18 15:06:28 -07:00