DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
From: Qi Zhang <qi.z.zhang@intel.com>
To: xiaolong.ye@intel.com
Cc: haiyue.wang@intel.com, dev@dpdk.org,
	Qi Zhang <qi.z.zhang@intel.com>,
	stable@dpdk.org,
	Maharajan Pandi Kumar <pandi.maharajan@intel.com>,
	Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Subject: [dpdk-dev] [PATCH 11/17] net/iavf/base: fix command buffer memory free
Date: Tue,  3 Dec 2019 15:03:12 +0800
Message-ID: <20191203070318.39620-12-qi.z.zhang@intel.com> (raw)
In-Reply-To: <20191203070318.39620-1-qi.z.zhang@intel.com>

Allocated resources were not freed in the event of failure in
iavf_init_asq function. This patch gracefully handles all failures.

Fixes: e5b2a9e957e7 ("net/avf/base: add base code for avf PMD")
Cc: stable@dpdk.org

Signed-off-by: Maharajan Pandi Kumar <pandi.maharajan@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index ef352ac4c..298e77277 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -82,6 +82,7 @@ enum iavf_status iavf_alloc_adminq_arq_ring(struct iavf_hw *hw)
  **/
 void iavf_free_adminq_asq(struct iavf_hw *hw)
 {
+	iavf_free_virt_mem(hw, &hw->aq.asq.cmd_buf);
 	iavf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
 }
 
@@ -353,7 +354,7 @@ enum iavf_status iavf_init_asq(struct iavf_hw *hw)
 	/* initialize base registers */
 	ret_code = iavf_config_asq_regs(hw);
 	if (ret_code != IAVF_SUCCESS)
-		goto init_adminq_free_rings;
+		goto init_config_regs;
 
 	/* success! */
 	hw->aq.asq.count = hw->aq.num_asq_entries;
@@ -361,6 +362,10 @@ enum iavf_status iavf_init_asq(struct iavf_hw *hw)
 
 init_adminq_free_rings:
 	iavf_free_adminq_asq(hw);
+	return ret_code;
+
+init_config_regs:
+	iavf_free_asq_bufs(hw);
 
 init_adminq_exit:
 	return ret_code;
-- 
2.13.6


  parent reply index

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 01/17] net/iavf/base: remove unnecessary header file Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 02/17] net/iavf/base: rename error code enum Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 03/17] net/iavf/base: rename register macro Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 04/17] net/iavf/base: update device id Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 05/17] net/iavf/base: remove unused code Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 06/17] net/iavf/base: remove unnecessary compile option Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 07/17] net/iavf/base: rename functions Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 08/17] net/iavf/base: update virtual channel Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 09/17] net/iavf/base: adjust code indent Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 10/17] net/iavf/base: increase max VSI count for VFs Qi Zhang
2019-12-03  7:03 ` Qi Zhang [this message]
2019-12-03  7:03 ` [dpdk-dev] [PATCH 12/17] net/iavf/base: update FW API version for X722 Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 13/17] net/iavf/base: add more link speed support Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 14/17] net/iavf/base: update copyright date Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return value Qi Zhang
2020-01-02  2:48   ` Yang, Qiming
2019-12-03  7:03 ` [dpdk-dev] [PATCH 16/17] net/iavf: move device state flag Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 17/17] net/ice/base: update version info Qi Zhang
2020-01-02  2:50 ` [dpdk-dev] [PATCH 00/17] iavf base code update Yang, Qiming
2020-01-02  3:14   ` Ye Xiaolong

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191203070318.39620-12-qi.z.zhang@intel.com \
    --to=qi.z.zhang@intel.com \
    --cc=dev@dpdk.org \
    --cc=haiyue.wang@intel.com \
    --cc=pandi.maharajan@intel.com \
    --cc=paul.m.stillwell.jr@intel.com \
    --cc=stable@dpdk.org \
    --cc=xiaolong.ye@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org
	public-inbox-index dpdk-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git