Add missing error code when mlx5e_macsec_fs_add_rule() or mlx5e_macsec_fs_init() fails. Fixes: e467b283ffd5 ("net/mlx5e: Add MACsec TX steering rules") Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> --- .../ethernet/mellanox/mlx5/core/en_accel/macsec.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c index d9d18b039d8c..5fa3e22c8918 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c @@ -194,8 +194,13 @@ static int mlx5e_macsec_init_sa(struct macsec_context *ctx, MLX5_ACCEL_MACSEC_ACTION_DECRYPT; macsec_rule = mlx5e_macsec_fs_add_rule(macsec->macsec_fs, ctx, &rule_attrs, &sa->fs_id); - if (IS_ERR_OR_NULL(macsec_rule)) + if (IS_ERR_OR_NULL(macsec_rule)) { + if (!macsec_rule) + err = -ENOMEM; + else + err = PTR_ERR(macsec_rule); goto destroy_macsec_object; + } sa->macsec_rule = macsec_rule; @@ -1294,8 +1299,13 @@ int mlx5e_macsec_init(struct mlx5e_priv *priv) macsec->mdev = mdev; macsec_fs = mlx5e_macsec_fs_init(mdev, priv->netdev); - if (IS_ERR_OR_NULL(macsec_fs)) + if (IS_ERR_OR_NULL(macsec_fs)) { + if (!macsec_fs) + err = -ENOMEM; + else + err = PTR_ERR(macsec_fs); goto err_out; + } macsec->macsec_fs = macsec_fs; -- 2.25.1