Message ID | 20250218161741.4147-1-piotr.kwapulinski@intel.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [iwl-net] ixgbe: fix media type detection for E610 device | expand |
Dear Piotr, Thank you for your patch. Am 18.02.25 um 17:17 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. It’d be great if you gave a concrete example. > Clear the previous outdated PHY type. Only the high byte? > Fixes: 23c0e5a16bcc ("ixgbe: Add link management support for E610 device") > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> > --- > 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; > + } > } > } Kind regards, Paul
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; + } } }