Dear Piotr,

Thank you for the improved version. Two minor nits should you resend.


Am 21.02.25 um 14:53 schrieb Piotr Kwapulinski:
The commit 23c0e5a16bcc ("ixgbe: Add link management support for E610
device") introduced incorrect media type detection for E610 device. It
reproduces when advertised speed is modified after driver reload. Clear
the previous outdated PHY type high value.

Reproduction steps:
modprobe ixgbe
ethtool -s eth0 advertise 0x1000000000000
rmmod ixgbe

As you use modprobe over insmod, you could also used modprobe -r.

modprobe ixgbe
ethtool -s eth0 advertise 0x1000000000000

Is now an error printed?

Fixes: 23c0e5a16bcc ("ixgbe: Add link management support for E610 device")
Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com>
Signed-off-by: Piotr Kwapulinski <piotr.kwapulin...@intel.com>
---
v1 -> v2
   More commit message details and reproduction steps added
---
  drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
index 683c668..0dfefd2 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
@@ -1453,9 +1453,11 @@ enum ixgbe_media_type ixgbe_get_media_type_e610(struct 
ixgbe_hw *hw)
                        hw->link.link_info.phy_type_low = 0;
                } else {
                        highest_bit = fls64(le64_to_cpu(pcaps.phy_type_low));
-                       if (highest_bit)
+                       if (highest_bit) {
                                hw->link.link_info.phy_type_low =
                                        BIT_ULL(highest_bit - 1);
+                               hw->link.link_info.phy_type_high = 0;
+                       }
                }
        }

Reviewed-by: Paul Menzel <pmen...@molgen.mpg.de>


Kind regards,

Paul

Reply via email to