From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B870C18024 for ; Wed, 16 Aug 2023 20:41:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2905DC433CD; Wed, 16 Aug 2023 20:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1692218476; bh=CccmoTtUD10ENFPBMJ1x9E5LBA9u+4gfLf6JOonuNrk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mC96V2yInTNL9QSitMd3U2Zs5jCPIWwBU2/5qbNGyT3d4hiRKdTZVkF0poYy+78Vn /Iw32Ujp3ygB3qNTkA/AtEf0V+GgsipLQH+6h4VG7bsDQpvlgtBctmwJpppU20EagQ jKj86/n8P/xAetra1oCcWpYwrXf0ltj3Ol0mwrVyj4zw7lmcN5y2VvJhI9cAV+HM/U yUWPXVVMaJfjFjDEPlx+oDlG/jk7dAylKFtjwLQnCfVfou7S30WNkKtTB07SsEjHXC 9phedKsqblSE4PZaTMCDmUcJEOh8OtVk8L1X7AoeCUj3z93m+xN4MsNb42401nMUig q0tyMz2pNnfVg== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Shay Drory , Roi Dayan Subject: [net 2/2] net/mlx5: Fix mlx5_cmd_update_root_ft() error flow Date: Wed, 16 Aug 2023 13:41:08 -0700 Message-ID: <20230816204108.53819-3-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230816204108.53819-1-saeed@kernel.org> References: <20230816204108.53819-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Shay Drory The cited patch change mlx5_cmd_update_root_ft() to work with multiple peer devices. However, it didn't align the error flow as well. Hence, Fix the error code to work with multiple peer devices. Fixes: 222dd185833e ("{net/RDMA}/mlx5: introduce lag_for_each_peer") Signed-off-by: Shay Drory Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c index aab7059bf6e9..244cfd470903 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c @@ -245,12 +245,20 @@ static int mlx5_cmd_update_root_ft(struct mlx5_flow_root_namespace *ns, mlx5_lag_is_shared_fdb(dev) && mlx5_lag_is_master(dev)) { struct mlx5_core_dev *peer_dev; - int i; + int i, j; mlx5_lag_for_each_peer_mdev(dev, peer_dev, i) { err = mlx5_cmd_set_slave_root_fdb(dev, peer_dev, !disconnect, (!disconnect) ? ft->id : 0); if (err && !disconnect) { + mlx5_lag_for_each_peer_mdev(dev, peer_dev, j) { + if (j < i) + mlx5_cmd_set_slave_root_fdb(dev, peer_dev, 1, + ns->root_ft->id); + else + break; + } + MLX5_SET(set_flow_table_root_in, in, op_mod, 0); MLX5_SET(set_flow_table_root_in, in, table_id, ns->root_ft->id); -- 2.41.0