diff mbox series

[net-next,V2,01/14] RDMA/mlx5: Free second uplink ib port

Message ID 20230607210410.88209-2-saeed@kernel.org (mailing list archive)
State RFC
Headers show
Series [net-next,V2,01/14] RDMA/mlx5: Free second uplink ib port | expand

Commit Message

Saeed Mahameed June 7, 2023, 9:03 p.m. UTC
From: Shay Drory <shayd@nvidia.com>

The cited patch introduce ib port for the slave device uplink in
case of multiport eswitch. However, this ib port didn't perform
anything when unloaded.
Unload the new ib port properly.

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
---
 drivers/infiniband/hw/mlx5/ib_rep.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

patchwork-bot+netdevbpf@kernel.org June 9, 2023, 2:40 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Saeed Mahameed <saeedm@nvidia.com>:

On Wed,  7 Jun 2023 14:03:57 -0700 you wrote:
> From: Shay Drory <shayd@nvidia.com>
> 
> The cited patch introduce ib port for the slave device uplink in
> case of multiport eswitch. However, this ib port didn't perform
> anything when unloaded.
> Unload the new ib port properly.
> 
> [...]

Here is the summary with links:
  - [net-next,V2,01/14] RDMA/mlx5: Free second uplink ib port
    https://git.kernel.org/netdev/net-next/c/962825e534a9
  - [net-next,V2,02/14] {net/RDMA}/mlx5: introduce lag_for_each_peer
    https://git.kernel.org/netdev/net-next/c/222dd185833e
  - [net-next,V2,03/14] net/mlx5: LAG, check if all eswitches are paired for shared FDB
    https://git.kernel.org/netdev/net-next/c/4c103aea4bed
  - [net-next,V2,04/14] net/mlx5: LAG, generalize handling of shared FDB
    https://git.kernel.org/netdev/net-next/c/86a12124dc02
  - [net-next,V2,05/14] net/mlx5: LAG, change mlx5_shared_fdb_supported() to static
    https://git.kernel.org/netdev/net-next/c/c83e6ab96ef2
  - [net-next,V2,06/14] net/mlx5: LAG, block multipath LAG in case ldev have more than 2 ports
    https://git.kernel.org/netdev/net-next/c/d61bab396115
  - [net-next,V2,07/14] net/mlx5: LAG, block multiport eswitch LAG in case ldev have more than 2 ports
    https://git.kernel.org/netdev/net-next/c/7718c1c8ac32
  - [net-next,V2,08/14] net/mlx5: Enable 4 ports VF LAG
    https://git.kernel.org/netdev/net-next/c/6ec0b55e72a5
  - [net-next,V2,09/14] net/mlx5e: Expose catastrophic steering error counters
    https://git.kernel.org/netdev/net-next/c/a33682e4e78e
  - [net-next,V2,10/14] net/mlx5e: Remove RX page cache leftovers
    https://git.kernel.org/netdev/net-next/c/f4692ab13a1f
  - [net-next,V2,11/14] net/mlx5e: TC, refactor access to hash key
    https://git.kernel.org/netdev/net-next/c/de1f0a650824
  - [net-next,V2,12/14] net/mlx5: Skip inline mode check after mlx5_eswitch_enable_locked() failure
    https://git.kernel.org/netdev/net-next/c/97bd788efb90
  - [net-next,V2,13/14] mlx5/core: E-Switch, Allocate ECPF vport if it's an eswitch manager
    https://git.kernel.org/netdev/net-next/c/eb8e9fae0a22
  - [net-next,V2,14/14] net/mlx5e: simplify condition after napi budget handling change
    https://git.kernel.org/netdev/net-next/c/803ea346bd3f

You are awesome, thank you!
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/mlx5/ib_rep.c b/drivers/infiniband/hw/mlx5/ib_rep.c
index ddcfc116b19a..a4db22fe1883 100644
--- a/drivers/infiniband/hw/mlx5/ib_rep.c
+++ b/drivers/infiniband/hw/mlx5/ib_rep.c
@@ -126,7 +126,7 @@  mlx5_ib_vport_rep_unload(struct mlx5_eswitch_rep *rep)
 	    !mlx5_lag_is_master(mdev)) {
 		struct mlx5_core_dev *peer_mdev;
 
-		if (rep->vport == MLX5_VPORT_UPLINK)
+		if (rep->vport == MLX5_VPORT_UPLINK && !mlx5_lag_is_mpesw(mdev))
 			return;
 		peer_mdev = mlx5_lag_get_peer_mdev(mdev);
 		vport_index += mlx5_eswitch_get_total_vports(peer_mdev);
@@ -146,6 +146,9 @@  mlx5_ib_vport_rep_unload(struct mlx5_eswitch_rep *rep)
 		struct mlx5_core_dev *peer_mdev;
 		struct mlx5_eswitch *esw;
 
+		if (mlx5_lag_is_shared_fdb(mdev) && !mlx5_lag_is_master(mdev))
+			return;
+
 		if (mlx5_lag_is_shared_fdb(mdev)) {
 			peer_mdev = mlx5_lag_get_peer_mdev(mdev);
 			esw = peer_mdev->priv.eswitch;