[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3c26c81b-455f-4cff-82b5-5f38ee602c71@intel.com>
Date: Mon, 24 Feb 2025 11:24:17 -0800
From: Tony Nguyen <anthony.l.nguyen@...el.com>
To: Piotr Kwapulinski <piotr.kwapulinski@...el.com>,
<intel-wired-lan@...ts.osuosl.org>
CC: <netdev@...r.kernel.org>, <pmenzel@...gen.mpg.de>, <andrew@...n.ch>,
Przemek Kitszel <przemyslaw.kitszel@...el.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-net v3] ixgbe: fix media type
detection for E610 device
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@...el.com>
> Reviewed-by: Paul Menzel <pmenzel@...gen.mpg.de>
> Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@...el.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;
> + }
> }
> }
>
Powered by blists - more mailing lists