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 5D586A0555 for ; Wed, 25 May 2022 18:29:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 586C8400EF; Wed, 25 May 2022 18:29:51 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 9244942B75 for ; Wed, 25 May 2022 18:29:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1653496189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mETjTrV3CSkzhnqamw5rd7yvx+9tJXM5N0ZzaWkM8Gg=; b=Cd9kcnsQbE5EbSIkz3hZ4oDI+Xz1aor7fLf3WJxvoUJo1gIwpz36SxmyQ4UE7oljb5MA3q sRY71w0L7eFIQVAi0/YzIFnxNkoSHdynG8fVDrnDen0G3HpalK76dtTeTDozUKFPOA7pcb j6QmuS51mR9TWutWpSB+ZJLYVdIsHLI= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-395-COQxgCBxOGSrx5LMO3N2Yg-1; Wed, 25 May 2022 12:29:45 -0400 X-MC-Unique: COQxgCBxOGSrx5LMO3N2Yg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 50E3C8339AE; Wed, 25 May 2022 16:29:29 +0000 (UTC) Received: from rh.Home (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTP id 438E420296C3; Wed, 25 May 2022 16:29:28 +0000 (UTC) From: Kevin Traynor To: Huisong Li Cc: Min Hu , dpdk stable Subject: patch 'net/hns3: fix rollback on RSS hash update' has been queued to stable release 21.11.2 Date: Wed, 25 May 2022 17:28:16 +0100 Message-Id: <20220525162847.711753-24-ktraynor@redhat.com> In-Reply-To: <20220525162847.711753-1-ktraynor@redhat.com> References: <20220525162847.711753-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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 Hi, FYI, your patch has been queued to stable release 21.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/30/22. 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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/5a6fb3a977fb805a04b65ab8c2ba2401fc86abb8 Thanks. Kevin --- >From 5a6fb3a977fb805a04b65ab8c2ba2401fc86abb8 Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Thu, 5 May 2022 20:27:06 +0800 Subject: [PATCH] net/hns3: fix rollback on RSS hash update [ upstream commit 07f64b5f576a779c8c3df4ba45ad70c306dcb562 ] The RSS tuple isn't restored when RSS key length is invalid or setting algo key failed. This patch fixes it. Fixes: c37ca66f2b27 ("net/hns3: support RSS") Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_rss.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/drivers/net/hns3/hns3_rss.c b/drivers/net/hns3/hns3_rss.c index 1c703952b9..4b2c24ace4 100644 --- a/drivers/net/hns3/hns3_rss.c +++ b/drivers/net/hns3/hns3_rss.c @@ -377,7 +377,7 @@ hns3_dev_rss_hash_update(struct rte_eth_dev *dev, struct rte_eth_rss_conf *rss_conf) { - struct hns3_adapter *hns = dev->data->dev_private; - struct hns3_hw *hw = &hns->hw; + struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct hns3_rss_tuple_cfg *tuple = &hw->rss_info.rss_tuple_sets; + uint64_t rss_hf_bk = hw->rss_info.conf.types; uint8_t key_len = rss_conf->rss_key_len; uint64_t rss_hf = rss_conf->rss_hf; @@ -388,19 +388,19 @@ hns3_dev_rss_hash_update(struct rte_eth_dev *dev, return -EINVAL; + if (key && key_len != HNS3_RSS_KEY_SIZE) { + hns3_err(hw, "the hash key len(%u) is invalid, must be %u", + key_len, HNS3_RSS_KEY_SIZE); + return -EINVAL; + } + rte_spinlock_lock(&hw->lock); ret = hns3_set_rss_tuple_by_rss_hf(hw, tuple, rss_hf); if (ret) - goto conf_err; + goto set_tuple_fail; if (key) { - if (key_len != HNS3_RSS_KEY_SIZE) { - hns3_err(hw, "The hash key len(%u) is invalid", - key_len); - ret = -EINVAL; - goto conf_err; - } ret = hns3_rss_set_algo_key(hw, key); if (ret) - goto conf_err; + goto set_algo_key_fail; } rte_spinlock_unlock(&hw->lock); @@ -408,5 +408,7 @@ hns3_dev_rss_hash_update(struct rte_eth_dev *dev, return 0; -conf_err: +set_algo_key_fail: + (void)hns3_set_rss_tuple_by_rss_hf(hw, tuple, rss_hf_bk); +set_tuple_fail: rte_spinlock_unlock(&hw->lock); return ret; -- 2.34.3 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-05-25 17:26:59.165389413 +0100 +++ 0024-net-hns3-fix-rollback-on-RSS-hash-update.patch 2022-05-25 17:26:58.579828349 +0100 @@ -1 +1 @@ -From 07f64b5f576a779c8c3df4ba45ad70c306dcb562 Mon Sep 17 00:00:00 2001 +From 5a6fb3a977fb805a04b65ab8c2ba2401fc86abb8 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 07f64b5f576a779c8c3df4ba45ad70c306dcb562 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org