Message ID | 20250221154917.3710-1-piotr.kwapulinski@intel.com |
---|---|
State | Accepted |
Delegated to: | Anthony Nguyen |
Headers | show |
Series | [iwl-net,v3] ixgbe: fix media type detection for E610 device | expand |
On 2/21/2025 7:49 AM, Piotr Kwapulinski wrote: > 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 > modprobe -r ixgbe > modprobe ixgbe > ethtool -s eth0 advertise 0x1000000000000 > Result before the fix: > netlink error: link settings update failed > netlink error: Invalid argument > Result after the fix: > No output error > > Fixes: 23c0e5a16bcc ("ixgbe: Add link management support for E610 device") > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> > Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> > --- > v1 -> v2 > More commit message details and reproduction steps added > v2 -> v3 > More details in reproduction steps added Please remember you must wait at least 24 hours between submissions that include netdev https://docs.kernel.org/process/maintainer-netdev.html#resending-after-review Thanks, Tony > --- > 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; > + } > } > } >
On Fri, Feb 21, 2025 at 04:49:17PM +0100, Piotr Kwapulinski wrote: > 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 > modprobe -r ixgbe > modprobe ixgbe > ethtool -s eth0 advertise 0x1000000000000 > Result before the fix: > netlink error: link settings update failed > netlink error: Invalid argument > Result after the fix: > No output error > > Fixes: 23c0e5a16bcc ("ixgbe: Add link management support for E610 device") > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> > Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> Reviewed-by: Simon Horman <horms@kernel.org>
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Piotr Kwapulinski > Sent: Friday, February 21, 2025 9:19 PM > To: intel-wired-lan@lists.osuosl.org > Cc: netdev@vger.kernel.org; pmenzel@molgen.mpg.de; andrew@lunn.ch; > Kwapulinski, Piotr <piotr.kwapulinski@intel.com>; Kitszel, Przemyslaw > <przemyslaw.kitszel@intel.com> > Subject: [Intel-wired-lan] [PATCH iwl-net v3] ixgbe: fix media type detection > for E610 device > > 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 modprobe -r ixgbe modprobe > ixgbe ethtool -s eth0 advertise 0x1000000000000 Result before the fix: > netlink error: link settings update failed netlink error: Invalid argument Result > after the fix: > No output error > > Fixes: 23c0e5a16bcc ("ixgbe: Add link management support for E610 device") > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> > Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> > --- > v1 -> v2 > More commit message details and reproduction steps added > v2 -> v3 > More details in reproduction steps added > --- > drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > Tested-by: Bharath R <bharath.r@intel.com>
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; + } } }