| 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; + } } }
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(-)