From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 73A69A0C47 for ; Tue, 10 Aug 2021 17:44:00 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6741D411C3; Tue, 10 Aug 2021 17:44:00 +0200 (CEST) Received: from smtp-relay-canonical-1.canonical.com (smtp-relay-canonical-1.canonical.com [185.125.188.121]) by mails.dpdk.org (Postfix) with ESMTP id 27FE04014F for ; Tue, 10 Aug 2021 17:43:59 +0200 (CEST) Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPS id 102AC3F338 for ; Tue, 10 Aug 2021 15:43:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1628610239; bh=wSobidrrlV50SNklZeNj5or+JET55DDm7o+usFzDdTA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ACtf83Qs1RPifG0zmhuYYnDvZ54xCyAidbGwXnqZmjoRmRPanM2Jc/9ZlgJi2LkrZ ZeWFIUHLwRNd8dt2wMJ4EpQYEj7kxNH6bNtW5SVRCIA9y/qKpNVFgSKzEAJIOR1fH/ p9qSfmc9cUsfU4ErK9j3OpQWAi6eKmwBdIHWkYOOksJ+LmA7sXAlcBMs75A+Axv3d7 82cyUCg58nAcUYfq8cwpKmZe5PTq0z8ScsWL+m2p1YYIjsH4qHNne5x6B2xdDR3y1S QZ1D18BG97LIIeZPfTPrx2TdLjZ7kDiVkKsRRKgl9eZodloNXmG2M054Uvt2T9Yvj/ yXYJ3USMNomVg== Received: by mail-ed1-f69.google.com with SMTP id c1-20020aa7df010000b02903bb5c6f746eso10887632edy.10 for ; Tue, 10 Aug 2021 08:43:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wSobidrrlV50SNklZeNj5or+JET55DDm7o+usFzDdTA=; b=tMgPtCClFc8KkCxYcPHWnGUeTkWuOoKIQrSPRAL9wvGgNJYzysCVl2Ty2mVM59zgTE Qi3tpwy+VzSOlIzfZHNPx0Ql5vg9P0+zfq3myWIMKQ2PANxcvGR+ZK8ISNuhY0WgwUmz PtFeyaINoaHdfstZdFPtfusKMHT7J86C9a5UTx5eKC40oL8z/xhFKuR6Hc1YHETz2fFj +o5KeJ4Er/jDcA+09uu6bHXrMFd0Y+pX2rhbvYWsMOM+Y5Ejg0DFUsmqESZjSetCpF4G oxjXSwEovN9EyozGN3bfUExiWlKeZrucFGN9L/edMOPF4wbAtNxGYceSl3pWmHGyPuoo OLRA== X-Gm-Message-State: AOAM530wIG6cb5gnlb61XeXabFKaykQs3IX97nS6lZfgMke1X8F/js6m jNBUd/sDrn0LBBJRNN/8dL3fOco+ZfRwPDVelnlh52pO47vkS3Drd0RbxeOAHqku/EjzwO1JHYE HSqqwLTMHTNOe9uN44pxQr5hZ X-Received: by 2002:a17:906:2755:: with SMTP id a21mr27995832ejd.488.1628610238489; Tue, 10 Aug 2021 08:43:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzA+7fUON39kmwOMWTHMFWJlt4EWj4FpFUHhHNZfZQe2qGB2Gn7xUnL3fBz3CD2yvCDwXwGmA== X-Received: by 2002:a17:906:2755:: with SMTP id a21mr27995819ejd.488.1628610238328; Tue, 10 Aug 2021 08:43:58 -0700 (PDT) Received: from Keschdeichel.fritz.box ([2001:67c:1560:8007::aac:c4ad]) by smtp.gmail.com with ESMTPSA id s18sm6979936ejc.52.2021.08.10.08.43.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Aug 2021 08:43:57 -0700 (PDT) From: christian.ehrhardt@canonical.com To: Weifeng Li Cc: Ajit Khaparde , dpdk stable Date: Tue, 10 Aug 2021 17:39:49 +0200 Message-Id: <20210810154022.749358-69-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210810154022.749358-1-christian.ehrhardt@canonical.com> References: <20210810154022.749358-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/bnxt: fix nested lock during bonding' has been queued to stable release 19.11.10 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/c6ff8fe4e7dbd2e26073187cbf09f00e6e339f85 Thanks. Christian Ehrhardt --- >From c6ff8fe4e7dbd2e26073187cbf09f00e6e339f85 Mon Sep 17 00:00:00 2001 From: Weifeng Li Date: Sat, 3 Jul 2021 06:20:42 -0400 Subject: [PATCH] net/bnxt: fix nested lock during bonding [ upstream commit 8117f5f61a7399fb160cc48d05daf6e0aac734f8 ] Bnxt PMD registers LSC callback (bond_ethdev_lsc_event_callback) when working at bond mode. This callback will dead lock when LSC interrupt triggered. lsc interrupt -> bnxt_handle_async_event -> bnxt_link_update_op -> bond_ethdev_lsc_event_callback (lsc_lock) -> bnxt_link_update_op -> bond_ethdev_lsc_event_callback (lsc_lock dead lock) Fixes: c2faa1d1969e ("net/bnxt: add support for LSC interrupt event") Signed-off-by: Weifeng Li Acked-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_cpr.c | 2 ++ drivers/net/bnxt/bnxt_ethdev.c | 5 ----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c index 26c7dae88f..f02cbbb23e 100644 --- a/drivers/net/bnxt/bnxt_cpr.c +++ b/drivers/net/bnxt/bnxt_cpr.c @@ -64,6 +64,8 @@ void bnxt_handle_async_event(struct bnxt *bp, case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE: /* FALLTHROUGH */ bnxt_link_update_op(bp->eth_dev, 0); + _rte_eth_dev_callback_process(bp->eth_dev, + RTE_ETH_EVENT_INTR_LSC, NULL); break; case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD: PMD_DRV_LOG(INFO, "Async event: PF driver unloaded\n"); diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index b3e95f72a0..057976026c 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1238,11 +1238,6 @@ out: if (new.link_status != eth_dev->data->dev_link.link_status || new.link_speed != eth_dev->data->dev_link.link_speed) { rte_eth_linkstatus_set(eth_dev, &new); - - _rte_eth_dev_callback_process(eth_dev, - RTE_ETH_EVENT_INTR_LSC, - NULL); - bnxt_print_link_info(eth_dev); } -- 2.32.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-08-10 15:11:15.684551770 +0200 +++ 0069-net-bnxt-fix-nested-lock-during-bonding.patch 2021-08-10 15:11:13.070638474 +0200 @@ -1 +1 @@ -From 8117f5f61a7399fb160cc48d05daf6e0aac734f8 Mon Sep 17 00:00:00 2001 +From c6ff8fe4e7dbd2e26073187cbf09f00e6e339f85 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8117f5f61a7399fb160cc48d05daf6e0aac734f8 ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -28 +29 @@ -index 2c7fd78c3d..f4c9c72664 100644 +index 26c7dae88f..f02cbbb23e 100644 @@ -31 +32 @@ -@@ -111,6 +111,8 @@ void bnxt_handle_async_event(struct bnxt *bp, +@@ -64,6 +64,8 @@ void bnxt_handle_async_event(struct bnxt *bp, @@ -35 +36 @@ -+ rte_eth_dev_callback_process(bp->eth_dev, ++ _rte_eth_dev_callback_process(bp->eth_dev, @@ -41 +42 @@ -index ee69296926..19d52fa82b 100644 +index b3e95f72a0..057976026c 100644 @@ -44 +45 @@ -@@ -1843,11 +1843,6 @@ out: +@@ -1238,11 +1238,6 @@ out: @@ -46 +47 @@ - new.link_speed != eth_dev->data->dev_link.link_speed) { + new.link_speed != eth_dev->data->dev_link.link_speed) { @@ -49,3 +50,3 @@ -- rte_eth_dev_callback_process(eth_dev, -- RTE_ETH_EVENT_INTR_LSC, -- NULL); +- _rte_eth_dev_callback_process(eth_dev, +- RTE_ETH_EVENT_INTR_LSC, +- NULL);