From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4CDA6A0613 for ; Wed, 28 Aug 2019 15:43:37 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 43DD31C1FF; Wed, 28 Aug 2019 15:43:37 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id A725A1C229 for ; Wed, 28 Aug 2019 15:43:35 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 24AF118C4267; Wed, 28 Aug 2019 13:43:35 +0000 (UTC) Received: from rh.redhat.com (ovpn-117-52.ams2.redhat.com [10.36.117.52]) by smtp.corp.redhat.com (Postfix) with ESMTP id 19246194B2; Wed, 28 Aug 2019 13:43:33 +0000 (UTC) From: Kevin Traynor To: Kalesh AP Cc: Somnath Kotur , dpdk stable Date: Wed, 28 Aug 2019 14:42:13 +0100 Message-Id: <20190828134234.20547-37-ktraynor@redhat.com> In-Reply-To: <20190828134234.20547-1-ktraynor@redhat.com> References: <20190828134234.20547-1-ktraynor@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.62]); Wed, 28 Aug 2019 13:43:35 +0000 (UTC) Subject: [dpdk-stable] patch 'net/bnxt: fix check of address mapping' has been queued to LTS release 18.11.3 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 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 LTS release 18.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 09/04/19. 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-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/2221b0c1381ae0d6031f67544bff5b62cec1d9eb Thanks. Kevin Traynor --- >From 2221b0c1381ae0d6031f67544bff5b62cec1d9eb Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Thu, 18 Jul 2019 09:05:56 +0530 Subject: [PATCH] net/bnxt: fix check of address mapping [ upstream commit 1f3cea0044ceccbd3a0f38307cf0808c5b16d6b1 ] rte_mem_virt2iova() function returns RTE_BAD_IOVA on failure, not zero. Fixes: 62196f4e0941 ("mem: rename address mapping function to IOVA") Signed-off-by: Kalesh AP Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++-------- drivers/net/bnxt/bnxt_ring.c | 2 +- drivers/net/bnxt/bnxt_vnic.c | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index f950440a6..79803b4d0 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -858,5 +858,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp) bp->hwrm_cmd_resp_dma_addr = rte_mem_virt2iova(bp->hwrm_cmd_resp_addr); - if (bp->hwrm_cmd_resp_dma_addr == 0) { + if (bp->hwrm_cmd_resp_dma_addr == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, "Unable to map response buffer to physical memory.\n"); @@ -884,5 +884,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp) bp->hwrm_short_cmd_req_dma_addr = rte_mem_virt2iova(bp->hwrm_short_cmd_req_addr); - if (bp->hwrm_short_cmd_req_dma_addr == 0) { + if (bp->hwrm_short_cmd_req_dma_addr == RTE_BAD_IOVA) { rte_free(bp->hwrm_short_cmd_req_addr); PMD_DRV_LOG(ERR, @@ -2023,5 +2023,5 @@ int bnxt_alloc_hwrm_resources(struct bnxt *bp) bp->hwrm_cmd_resp_dma_addr = rte_mem_virt2iova(bp->hwrm_cmd_resp_addr); - if (bp->hwrm_cmd_resp_dma_addr == 0) { + if (bp->hwrm_cmd_resp_dma_addr == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, "unable to map response address to physical memory\n"); @@ -2949,5 +2949,5 @@ int bnxt_hwrm_func_buf_rgtr(struct bnxt *bp) req.req_buf_page_addr0 = rte_cpu_to_le_64(rte_mem_virt2iova(bp->pf.vf_req_buf)); - if (req.req_buf_page_addr0 == 0) { + if (req.req_buf_page_addr0 == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, "unable to map buffer address to physical memory\n"); @@ -3382,5 +3382,5 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data) return -ENOMEM; dma_handle = rte_mem_virt2iova(buf); - if (dma_handle == 0) { + if (dma_handle == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, "unable to map response address to physical memory\n"); @@ -3417,5 +3417,5 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index, dma_handle = rte_mem_virt2iova(buf); - if (dma_handle == 0) { + if (dma_handle == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, "unable to map response address to physical memory\n"); @@ -3471,5 +3471,5 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type, dma_handle = rte_mem_virt2iova(buf); - if (dma_handle == 0) { + if (dma_handle == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, "unable to map response address to physical memory\n"); @@ -3535,5 +3535,5 @@ static int bnxt_hwrm_func_vf_vnic_query(struct bnxt *bp, uint16_t vf, req.vnic_id_tbl_addr = rte_cpu_to_le_64(rte_mem_virt2iova(vnic_ids)); - if (req.vnic_id_tbl_addr == 0) { + if (req.vnic_id_tbl_addr == RTE_BAD_IOVA) { HWRM_UNLOCK(); PMD_DRV_LOG(ERR, diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c index fcbd6bc6e..0628a0b4e 100644 --- a/drivers/net/bnxt/bnxt_ring.c +++ b/drivers/net/bnxt/bnxt_ring.c @@ -164,5 +164,5 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, rte_mem_lock_page(((char *)mz->addr) + sz); mz_phys_addr = rte_mem_virt2iova(mz->addr); - if (mz_phys_addr == 0) { + if (mz_phys_addr == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, "unable to map ring address to physical memory\n"); diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 9ebe7c963..cc0b0ae07 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -147,7 +147,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp) "Using rte_mem_virt2iova()\n"); mz_phys_addr = rte_mem_virt2iova(mz->addr); - if (mz_phys_addr == 0) { + if (mz_phys_addr == RTE_BAD_IOVA) { PMD_DRV_LOG(ERR, - "unable to map vnic address to physical memory\n"); + "unable to map to physical memory\n"); return -ENOMEM; } -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-08-28 14:32:34.016656545 +0100 +++ 0038-net-bnxt-fix-check-of-address-mapping.patch 2019-08-28 14:32:31.683956424 +0100 @@ -1 +1 @@ -From 1f3cea0044ceccbd3a0f38307cf0808c5b16d6b1 Mon Sep 17 00:00:00 2001 +From 2221b0c1381ae0d6031f67544bff5b62cec1d9eb Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1f3cea0044ceccbd3a0f38307cf0808c5b16d6b1 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -14,5 +15,4 @@ - drivers/net/bnxt/bnxt_ethdev.c | 6 +++--- - drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++-------- - drivers/net/bnxt/bnxt_ring.c | 2 +- - drivers/net/bnxt/bnxt_vnic.c | 4 ++-- - 4 files changed, 14 insertions(+), 14 deletions(-) + drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++-------- + drivers/net/bnxt/bnxt_ring.c | 2 +- + drivers/net/bnxt/bnxt_vnic.c | 4 ++-- + 3 files changed, 11 insertions(+), 11 deletions(-) @@ -20,25 +19,0 @@ -diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c -index 39229f150..306d62772 100644 ---- a/drivers/net/bnxt/bnxt_ethdev.c -+++ b/drivers/net/bnxt/bnxt_ethdev.c -@@ -3473,5 +3473,5 @@ static int bnxt_alloc_ctx_mem_blk(__rte_unused struct bnxt *bp, - "Using rte_mem_virt2iova()\n"); - mz_phys_addr = rte_mem_virt2iova(mz->addr); -- if (mz_phys_addr == 0) { -+ if (mz_phys_addr == RTE_BAD_IOVA) { - PMD_DRV_LOG(ERR, - "unable to map addr to phys memory\n"); -@@ -3699,5 +3699,5 @@ static int bnxt_alloc_stats_mem(struct bnxt *bp) - "Using rte_mem_virt2iova()\n"); - mz_phys_addr = rte_mem_virt2iova(mz->addr); -- if (mz_phys_addr == 0) { -+ if (mz_phys_addr == RTE_BAD_IOVA) { - PMD_DRV_LOG(ERR, - "Can't map address to physical memory\n"); -@@ -3737,5 +3737,5 @@ static int bnxt_alloc_stats_mem(struct bnxt *bp) - "Using rte_mem_virt2iova()\n"); - mz_phys_addr = rte_mem_virt2iova(mz->addr); -- if (mz_phys_addr == 0) { -+ if (mz_phys_addr == RTE_BAD_IOVA) { - PMD_DRV_LOG(ERR, - "Can't map address to physical memory\n"); @@ -46 +21 @@ -index 313459aaf..9c5e5ad77 100644 +index f950440a6..79803b4d0 100644 @@ -49 +24 @@ -@@ -889,5 +889,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp) +@@ -858,5 +858,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp) @@ -56 +31 @@ -@@ -926,5 +926,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp) +@@ -884,5 +884,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp) @@ -63 +38 @@ -@@ -2230,5 +2230,5 @@ int bnxt_alloc_hwrm_resources(struct bnxt *bp) +@@ -2023,5 +2023,5 @@ int bnxt_alloc_hwrm_resources(struct bnxt *bp) @@ -70 +45 @@ -@@ -3180,5 +3180,5 @@ int bnxt_hwrm_func_buf_rgtr(struct bnxt *bp) +@@ -2949,5 +2949,5 @@ int bnxt_hwrm_func_buf_rgtr(struct bnxt *bp) @@ -77 +52 @@ -@@ -3612,5 +3612,5 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data) +@@ -3382,5 +3382,5 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data) @@ -84 +59 @@ -@@ -3647,5 +3647,5 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index, +@@ -3417,5 +3417,5 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index, @@ -91 +66 @@ -@@ -3701,5 +3701,5 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type, +@@ -3471,5 +3471,5 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type, @@ -98 +73 @@ -@@ -3765,5 +3765,5 @@ static int bnxt_hwrm_func_vf_vnic_query(struct bnxt *bp, uint16_t vf, +@@ -3535,5 +3535,5 @@ static int bnxt_hwrm_func_vf_vnic_query(struct bnxt *bp, uint16_t vf, @@ -106 +81 @@ -index ada748c05..a9952e02c 100644 +index fcbd6bc6e..0628a0b4e 100644 @@ -109,2 +84,2 @@ -@@ -188,5 +188,5 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, - mz_phys_addr_base = rte_mem_virt2iova(mz->addr); +@@ -164,5 +164,5 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, + rte_mem_lock_page(((char *)mz->addr) + sz); @@ -117 +92 @@ -index 20e5bf2d1..c652b8f03 100644 +index 9ebe7c963..cc0b0ae07 100644 @@ -120 +95 @@ -@@ -154,7 +154,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp) +@@ -147,7 +147,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp)