Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4569924pxv; Tue, 6 Jul 2021 04:18:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznGzBDv8e/a6yYmUaRg84XggduLb7xcHBqGii7Y8OSMalX0LzMnJrCqH2qRfE/2ey7QPkd X-Received: by 2002:a5d:8b03:: with SMTP id k3mr15180409ion.203.1625570303975; Tue, 06 Jul 2021 04:18:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625570303; cv=none; d=google.com; s=arc-20160816; b=ejaDwHn4oUaud9TLGpoFl8yF29D6+9AEKO5wluwYnX7eVzO3oJUbmWGkp/oOWN/j5t X5EFjFw4+JYsXkhx+fqDU489MDk06gr9UR4eXuZdJ03c7s/j1ESwgO4K6JDklcZwWwwF APKF0SDMWLA31x4fE0qwHOq7E2wIVhcGOKKQF3ioCaJlq1VtYUqaK7qtxvTlYxbABKwm Uzxfy+9mHplCrcqv78KJ4X5b/1tPnBRzXAoijo5R/R8c88xfkuZLdBqdfA96ZJlvGbhd TSYaHBkf/jeds7J/MvVTpcvYbjofWXCfnWl8BWSjCYXG9Bxbxf6fIkl9Tqc0ATGqWcmL jAhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=XEut1UMhrG6ASOihp4zgXf+IYkJXdzA6bMYQWi2nPwE=; b=JS0H2UNEz1UFqpZdvrvRq+Z1WWZwHOZPAVi0cY5rH2LYr4PO6Rsc8eUYW/TNX5YHuz aKWoQPfRxWJZiav3V3+Y7BcYCRw4a1zAnH9OI5j01IEiWYmfBONRcU7kXS9bIIF5sd19 My4vrZoHRN6wnO2lFObeNgeNWN1o67pOotWBxVgtX9qFeCYJKtSzqCWnw7up6QT9jWF5 10G1JaLwNb8lvjNl35FAVmF9CtaXuEgURfD2g+8384vrg28YZw0SvbaPCSkN/p1R15vW pXLJJEtmBcpxqQ5C65ygoV6EDpFLli49C12sbBesoFFfw3penrHHkdfwd60uhr46SrXr 5j7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HA1fHeGP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u12si18872482ilm.99.2021.07.06.04.18.12; Tue, 06 Jul 2021 04:18:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HA1fHeGP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232888AbhGFLUV (ORCPT + 99 others); Tue, 6 Jul 2021 07:20:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:53438 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232362AbhGFLSN (ORCPT ); Tue, 6 Jul 2021 07:18:13 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id CCC0361C3E; Tue, 6 Jul 2021 11:15:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625570124; bh=MWXuWisZncxrhW+Gof0/n2Fystbk7rolGH5RF9Kpt5A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HA1fHeGP0m2qm3JFnyItrMUrBdC1aFWE5yaBHwdXTowdVZ/2vUFMqyfcyKOBbHMaL eMrDEA8lRME1GFdPHeWZ3fE9MqNc0VmBICx7w26lAODWOrXYHeSZi+5P2iAvXiPBos YxXI1HohDtMGkNcEx6QzUZbuMFPNsSjUfU/GjnKwzZjj1uQDdxb73/ywAIl4M4squU V8MzwXY19Ab8TZNu/DBzv8fOQK3srnP7Dbtg5ACAOlgwd84jqdQN9NDq93KyGsCfhY vkFiYwSI7kExeA+jyb4HzTZUYD4DxFXEdN5jNaB/4RwKyiHvQF7teqoC6gECX7TytL 6w99dHH9h75qw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Eli Cohen , Saeed Mahameed , Sasha Levin , netdev@vger.kernel.org, linux-rdma@vger.kernel.org Subject: [PATCH AUTOSEL 5.13 053/189] net/mlx5: Fix lag port remapping logic Date: Tue, 6 Jul 2021 07:11:53 -0400 Message-Id: <20210706111409.2058071-53-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210706111409.2058071-1-sashal@kernel.org> References: <20210706111409.2058071-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eli Cohen [ Upstream commit 8613641063617c1dfc731b403b3ee4935ef15f87 ] Fix the logic so that if both ports netdevices are enabled or disabled, use the trivial mapping without swapping. If only one of the netdevice's tx is enabled, use it to remap traffic to that port. Signed-off-by: Eli Cohen Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/lag.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag.c index b8748390335f..9ce144ef8326 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag.c @@ -118,17 +118,24 @@ static bool __mlx5_lag_is_sriov(struct mlx5_lag *ldev) static void mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker, u8 *port1, u8 *port2) { + bool p1en; + bool p2en; + + p1en = tracker->netdev_state[MLX5_LAG_P1].tx_enabled && + tracker->netdev_state[MLX5_LAG_P1].link_up; + + p2en = tracker->netdev_state[MLX5_LAG_P2].tx_enabled && + tracker->netdev_state[MLX5_LAG_P2].link_up; + *port1 = 1; *port2 = 2; - if (!tracker->netdev_state[MLX5_LAG_P1].tx_enabled || - !tracker->netdev_state[MLX5_LAG_P1].link_up) { - *port1 = 2; + if ((!p1en && !p2en) || (p1en && p2en)) return; - } - if (!tracker->netdev_state[MLX5_LAG_P2].tx_enabled || - !tracker->netdev_state[MLX5_LAG_P2].link_up) + if (p1en) *port2 = 1; + else + *port1 = 2; } void mlx5_modify_lag(struct mlx5_lag *ldev, -- 2.30.2