[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251017155402.35750413@kernel.org>
Date: Fri, 17 Oct 2025 15:54:02 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Chris Babroski <cbabroski@...dia.com>
Cc: <andrew+netdev@...n.ch>, <davem@...emloft.net>, <edumazet@...gle.com>,
<pabeni@...hat.com>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <davthompson@...dia.com>,
<hkallweit1@...il.com>, <linux@...linux.org.uk>
Subject: Re: [PATCH net-next v2] mlxbf_gige: report unknown speed and duplex
when link is down
On Tue, 14 Oct 2025 12:16:31 -0400 Chris Babroski wrote:
> The "Speed" and "Duplex" fields displayed by ethtool for the OOB
> interface should report "Unknown" when the link is down to match the
> behavior of other network interfaces on BlueField (implemented by the
> mlx5 driver). Currently, the mlxbf_gige driver always reports the
> initially configured link speed and duplex, regardless of the actual
> link state.
>
> The link speed and duplex are not updated for two reasons:
> 1. On BlueField the OOB phy is internally hardwired to a three port
> switch. This means the physical link between the phy and link
> partner is always up, regardless of the administrative link state
> configured with ifconfig.
> 2. phy_ethtool_get_link_ksettings() reads cached values that are only
> updated when phy_read_status() is called by the phy state machine.
> Doing "ifconfig down" will trigger phy_stop() in the
> ndo_stop() handler. This halts the phy state machine and sets
> phydev->link without calling phy_read_status() or explicitly
> updating other values, so the speed and duplex returned by
> future phy_ethtool_get_link_ksettings() calls will be stale.
>
> While #2 could potentially be fixed (assuming this is even an issue for
> other devices), #1 is unique to BlueField.
>
> Implement a custom get_link_ksettings() handler in mlxbf_gige that calls
> phy_ethtool_get_link_ksettings() and updates the speed and duplex based
> on the link state. When the link is brought down with ifconfig, the
> driver now reports unknown speed and duplex to ethtool as expected.
Are you sure you still need this now that 60f887b1290b has been applied?
Powered by blists - more mailing lists