All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Petr Machata <petrm@nvidia.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	netdev@vger.kernel.org, Ido Schimmel <idosch@nvidia.com>,
	mlxsw@nvidia.com, Tim 'mithro' Ansell <me@mith.ro>
Subject: Re: [PATCH net 2/3] mlxsw: core_env: Fix driver initialization with old firmware
Date: Tue, 16 Apr 2024 15:36:26 +0100	[thread overview]
Message-ID: <20240416143626.GR2320920@kernel.org> (raw)
In-Reply-To: <314f08cecbcae00340390e077cf20e02d0b48446.1713262810.git.petrm@nvidia.com>

On Tue, Apr 16, 2024 at 12:24:15PM +0200, Petr Machata wrote:
> From: Ido Schimmel <idosch@nvidia.com>
> 
> The driver queries the Management Capabilities Mask (MCAM) register
> during initialization to understand if it can read up to 128 bytes from
> transceiver modules.
> 
> However, not all firmware versions support this register, leading to the
> driver failing to load.
> 
> Fix by treating an error in the register query as an indication that the
> feature is not supported.
> 
> Fixes: 1f4aea1f72da ("mlxsw: core_env: Read transceiver module EEPROM in 128 bytes chunks")
> Reported-by: Tim 'mithro' Ansell <me@mith.ro>
> Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> Reviewed-by: Petr Machata <petrm@nvidia.com>
> Signed-off-by: Petr Machata <petrm@nvidia.com>
> ---
>  drivers/net/ethernet/mellanox/mlxsw/core_env.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_env.c b/drivers/net/ethernet/mellanox/mlxsw/core_env.c
> index 53b150b7ae4e..5d02b6aef4d2 100644
> --- a/drivers/net/ethernet/mellanox/mlxsw/core_env.c
> +++ b/drivers/net/ethernet/mellanox/mlxsw/core_env.c
> @@ -1360,17 +1360,15 @@ static struct mlxsw_linecards_event_ops mlxsw_env_event_ops = {
>  static int mlxsw_env_max_module_eeprom_len_query(struct mlxsw_env *mlxsw_env)
>  {
>  	char mcam_pl[MLXSW_REG_MCAM_LEN];
> -	bool mcia_128b_supported;
> +	bool mcia_128b_supported = false;
>  	int err;
>  
>  	mlxsw_reg_mcam_pack(mcam_pl,
>  			    MLXSW_REG_MCAM_FEATURE_GROUP_ENHANCED_FEATURES);
>  	err = mlxsw_reg_query(mlxsw_env->core, MLXSW_REG(mcam), mcam_pl);
> -	if (err)
> -		return err;
> -
> -	mlxsw_reg_mcam_unpack(mcam_pl, MLXSW_REG_MCAM_MCIA_128B,
> -			      &mcia_128b_supported);
> +	if (!err)
> +		mlxsw_reg_mcam_unpack(mcam_pl, MLXSW_REG_MCAM_MCIA_128B,
> +				      &mcia_128b_supported);
>  
>  	mlxsw_env->max_eeprom_len = mcia_128b_supported ? 128 : 48;

Hi Petr and Ido,

This function now always returns 0.
Perhaps the return type can be updated to void?


  reply	other threads:[~2024-04-16 14:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-16 10:24 [PATCH net 0/3] mlxsw: Fixes Petr Machata
2024-04-16 10:24 ` [PATCH net 1/3] mlxsw: core: Unregister EMAD trap using FORWARD action Petr Machata
2024-04-16 14:33   ` Simon Horman
2024-04-16 10:24 ` [PATCH net 2/3] mlxsw: core_env: Fix driver initialization with old firmware Petr Machata
2024-04-16 14:36   ` Simon Horman [this message]
2024-04-17  8:43     ` Ido Schimmel
2024-04-16 10:24 ` [PATCH net 3/3] mlxsw: pci: " Petr Machata
2024-04-16 14:33   ` Simon Horman
2024-04-17  4:18   ` Kalesh Anakkur Purayil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240416143626.GR2320920@kernel.org \
    --to=horms@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=idosch@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=me@mith.ro \
    --cc=mlxsw@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=petrm@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.