From patchwork Thu Sep 28 09:47:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiawen Wu X-Patchwork-Id: 132106 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 28B124265E; Thu, 28 Sep 2023 11:38:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C454D410F9; Thu, 28 Sep 2023 11:37:36 +0200 (CEST) Received: from smtpbguseast2.qq.com (smtpbguseast2.qq.com [54.204.34.130]) by mails.dpdk.org (Postfix) with ESMTP id AA0B640EE7; Thu, 28 Sep 2023 11:37:33 +0200 (CEST) X-QQ-mid: bizesmtp74t1695893843tf8icsvg Received: from wxdbg.localdomain.com ( [115.200.229.121]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 28 Sep 2023 17:37:23 +0800 (CST) X-QQ-SSF: 01400000000000K0Z000000A0000000 X-QQ-FEAT: TTeDAmFkMY9EY2tqOzyail3AChBogxiajzcPUNX+CiBra8OuV18SZrnHKjctZ qoZeChKJ8Ix+wbb6X4xwPeyeeOiI94Sw8P7MYT4ng0e+4vByg+cnVVENhpVVjbl6FgjoGmL MAhp8CuoGSX3aBQy9RLn8biXJvXjn99fV0ucM9gX/G3VOVDeQkZDi1MT0Vpt0vxBJyKAsg1 17miPYoQ6Q2hZsYT+xtOI4f/QadaPCQv1u9+Ns4jUt0Mz/BNMX5uvPpXHZjMnWieJbDEY1V 2U41WQgafDJmOjYy3r0KsjMlZAx1hWedXuDHNzVzSpEhcVI7GqE6YasgCYCHoT7pGPyznS+ 8sBUCeiLOPLUJWxIaggbU/1YW/EohKlxqNFSZ82X9yJvrdh76c9meID8Sx8i9gHKy8h28GA zggAi34Dy8Y= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 11600720360700553855 From: Jiawen Wu To: dev@dpdk.org Cc: Jiawen Wu , stable@dpdk.org Subject: [PATCH 08/11] net/ngbe: fix to keep link down after device close Date: Thu, 28 Sep 2023 17:47:55 +0800 Message-Id: <20230928094758.1076236-9-jiawenwu@trustnetic.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230928094758.1076236-1-jiawenwu@trustnetic.com> References: <20230928094758.1076236-1-jiawenwu@trustnetic.com> MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:trustnetic.com:qybglogicsvrgz:qybglogicsvrgz5a-1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When the port is closed, hardware is reset to power on. And ngbe_dev_stop() is just returned 0 to avoid secondary calls, so that the link led remains on. Fix this bug by adding to turn off the PHY power. Fixes: 3518df5774c7 ("net/ngbe: support device start/stop") Fixes: 708ebe7d0399 ("net/ngbe: fix external PHY power down") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu --- drivers/net/ngbe/ngbe_ethdev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c index e027e71b24..9a594a1db7 100644 --- a/drivers/net/ngbe/ngbe_ethdev.c +++ b/drivers/net/ngbe/ngbe_ethdev.c @@ -1167,7 +1167,7 @@ ngbe_dev_stop(struct rte_eth_dev *dev) int vf; if (hw->adapter_stopped) - return 0; + goto out; PMD_INIT_FUNC_TRACE(); @@ -1189,8 +1189,6 @@ ngbe_dev_stop(struct rte_eth_dev *dev) for (vf = 0; vfinfo != NULL && vf < pci_dev->max_vfs; vf++) vfinfo[vf].clear_to_send = false; - hw->phy.set_phy_power(hw, false); - ngbe_dev_clear_queues(dev); /* Clear stored conf */ @@ -1217,6 +1215,10 @@ ngbe_dev_stop(struct rte_eth_dev *dev) hw->adapter_stopped = true; dev->data->dev_started = 0; +out: + /* close phy to prevent reset in dev_close from restarting physical link */ + hw->phy.set_phy_power(hw, false); + return 0; }