Subject: Re: [PATCH net] nfp: ethtool: fix the display error of `ethtool -m DEVNAME`

From: Simon Horman <[email-masked]>
Date: Tue, 2 Aug 2022 10:33:31 +0100

On Tue, Aug 02, 2022 at 09:59:16AM +0100, Simon Horman wrote:
> From: Yu Xiao <[email-masked]>
> 
> The port flag isn't set to `NFP_PORT_CHANGED` when using
> `ethtool -m DEVNAME` before, so the port state (e.g. interface)
> cannot be updated. Therefore, it caused that `ethtool -m DEVNAME`
> sometimes cannot read the correct information.
> 
> E.g. `ethtool -m DEVNAME` cannot work when load driver before plug
> in optical module, as the port interface is still NONE without port
> update.
> 
> Now update the port state before sending info to NIC to ensure that
> port interface is correct (latest state).
> 
> Fixes: 61f7c6f4 ("nfp: implement ethtool get module EEPROM")

Sorry about this. I see that the fixes tag above has 8 rather than 12
characters of the commit hash. I'll post v2 to address this problem.

> Reviewed-by: Louis Peens <[email-masked]>
> Signed-off-by: Yu Xiao <[email-masked]>
> Signed-off-by: Simon Horman <[email-masked]>
> ---
>  drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
> index df0afd271a21..e6ee45afd80c 100644
> --- a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
> +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
> @@ -1230,6 +1230,8 @@ nfp_port_get_module_info(struct net_device *netdev,
>  	u8 data;
>  
>  	port = nfp_port_from_netdev(netdev);
> +	/* update port state to get latest interface */
> +	set_bit(NFP_PORT_CHANGED, &port->flags);
>  	eth_port = nfp_port_get_eth_port(port);
>  	if (!eth_port)
>  		return -EOPNOTSUPP;
> -- 
> 2.30.2
>