[v2] net/i40e: fix build for log format specifier
Checks
Commit Message
Build error:
i40e_common.c: In function "i40e_parse_discover_capabilities":
../drivers/net/i40e/base/../i40e_logs.h:43:50:
error: format "%llX" expects argument of type "long long unsigned
int", but argument 7 has type "u64" {aka "long unsigned int"
[-Werror=format=]
43 | rte_log(RTE_LOG_ ## level, i40e_logtype_driver, "%s(): " fmt, \
| ^~~~~~~~
.../i40e_osdep.h:87:3: note: in expansion of macro "PMD_DRV_LOG_RAW"
87 | PMD_DRV_LOG_RAW(DEBUG, "i40e %02x.%x " s, \
| ^~~~~~~~~~~~~~~
.../base/i40e_common.c:4100:4: note: in expansion of macro "i40e_debug"
4100 | i40e_debug(hw, I40E_DEBUG_INIT,
| ^~~~~~~~~~
There are multiple build error because of same reason, all fixed.
Using 'PRIX64' to fix the build error.
Fixes: 889bc9f0cd3a ("i40e/base: unify the capability function")
Fixes: 9b1041574cd4 ("i40e/base: enhance polling of NVM semaphore")
Fixes: 8db9e2a1b232 ("i40e: base driver")
Fixes: 3b7271f3958a ("i40e/base: catch NVM write semaphore timeout and retry")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
Cc: helin.zhang@intel.com
Cc: Luca Boccassi <bluca@debian.org>
Cc: David Marchand <david.marchand@redhat.com>
v2:
* Fix more build error from same reason
---
drivers/net/i40e/base/i40e_common.c | 4 +++-
drivers/net/i40e/base/i40e_nvm.c | 8 +++++---
2 files changed, 8 insertions(+), 4 deletions(-)
Comments
On Tue, 2020-11-10 at 17:54 +0000, Ferruh Yigit wrote:
> Build error:
> i40e_common.c: In function "i40e_parse_discover_capabilities":
> ../drivers/net/i40e/base/../i40e_logs.h:43:50:
> error: format "%llX" expects argument of type "long long unsigned
> int", but argument 7 has type "u64" {aka "long unsigned int"
> [-Werror=format=]
> 43 | rte_log(RTE_LOG_ ## level, i40e_logtype_driver, "%s(): " fmt, \
> | ^~~~~~~~
> .../i40e_osdep.h:87:3: note: in expansion of macro "PMD_DRV_LOG_RAW"
> 87 | PMD_DRV_LOG_RAW(DEBUG, "i40e %02x.%x " s, \
> | ^~~~~~~~~~~~~~~
> .../base/i40e_common.c:4100:4: note: in expansion of macro "i40e_debug"
> 4100 | i40e_debug(hw, I40E_DEBUG_INIT,
> | ^~~~~~~~~~
>
> There are multiple build error because of same reason, all fixed.
>
> Using 'PRIX64' to fix the build error.
>
> Fixes: 889bc9f0cd3a ("i40e/base: unify the capability function")
> Fixes: 9b1041574cd4 ("i40e/base: enhance polling of NVM semaphore")
> Fixes: 8db9e2a1b232 ("i40e: base driver")
> Fixes: 3b7271f3958a ("i40e/base: catch NVM write semaphore timeout and retry")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> Cc: helin.zhang@intel.com
> Cc: Luca Boccassi <bluca@debian.org>
> Cc: David Marchand <david.marchand@redhat.com>
>
> v2:
> * Fix more build error from same reason
> ---
> drivers/net/i40e/base/i40e_common.c | 4 +++-
> drivers/net/i40e/base/i40e_nvm.c | 8 +++++---
> 2 files changed, 8 insertions(+), 4 deletions(-)
Acked-by: Luca Boccassi <bluca@debian.org>
Thanks for the quick fix!
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Luca Boccassi
> Sent: Wednesday, November 11, 2020 2:08 AM
> To: Yigit, Ferruh <ferruh.yigit@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> Guo, Jia <jia.guo@intel.com>; Zhang, Helin <helin.zhang@intel.com>; Wu,
> Jingjing <jingjing.wu@intel.com>; Remy Horton <remy.horton@intel.com>;
> Jijiang Liu <jijiang.liu@intel.com>; Jing Chen <jing.d.chen@intel.com>; Zhu,
> Heqing <heqing.zhu@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org; David Marchand
> <david.marchand@redhat.com>
> Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix build for log format specifier
>
> On Tue, 2020-11-10 at 17:54 +0000, Ferruh Yigit wrote:
> > Build error:
> > i40e_common.c: In function "i40e_parse_discover_capabilities":
> > ../drivers/net/i40e/base/../i40e_logs.h:43:50:
> > error: format "%llX" expects argument of type "long long unsigned
> > int", but argument 7 has type "u64" {aka "long unsigned int"
> > [-Werror=format=]
> > 43 | rte_log(RTE_LOG_ ## level, i40e_logtype_driver, "%s(): " fmt, \
> > | ^~~~~~~~
> > .../i40e_osdep.h:87:3: note: in expansion of macro "PMD_DRV_LOG_RAW"
> > 87 | PMD_DRV_LOG_RAW(DEBUG, "i40e %02x.%x " s, \
> > | ^~~~~~~~~~~~~~~
> > .../base/i40e_common.c:4100:4: note: in expansion of macro "i40e_debug"
> > 4100 | i40e_debug(hw, I40E_DEBUG_INIT,
> > | ^~~~~~~~~~
> >
> > There are multiple build error because of same reason, all fixed.
> >
> > Using 'PRIX64' to fix the build error.
> >
> > Fixes: 889bc9f0cd3a ("i40e/base: unify the capability function")
> > Fixes: 9b1041574cd4 ("i40e/base: enhance polling of NVM semaphore")
> > Fixes: 8db9e2a1b232 ("i40e: base driver")
> > Fixes: 3b7271f3958a ("i40e/base: catch NVM write semaphore timeout and
> retry")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> > ---
> > Cc: helin.zhang@intel.com
> > Cc: Luca Boccassi <bluca@debian.org>
> > Cc: David Marchand <david.marchand@redhat.com>
> >
> > v2:
> > * Fix more build error from same reason
> > ---
> > drivers/net/i40e/base/i40e_common.c | 4 +++-
> > drivers/net/i40e/base/i40e_nvm.c | 8 +++++---
> > 2 files changed, 8 insertions(+), 4 deletions(-)
>
> Acked-by: Luca Boccassi <bluca@debian.org>
Applied to dpdk-next-net-intel.
Thanks
Qi
>
> Thanks for the quick fix!
>
> --
> Kind regards,
> Luca Boccassi
@@ -2,6 +2,8 @@
* Copyright(c) 2001-2020 Intel Corporation
*/
+#include <inttypes.h>
+
#include "i40e_type.h"
#include "i40e_adminq.h"
#include "i40e_prototype.h"
@@ -4098,7 +4100,7 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
p->wr_csr_prot = (u64)number;
p->wr_csr_prot |= (u64)logical_id << 32;
i40e_debug(hw, I40E_DEBUG_INIT,
- "HW Capability: wr_csr_prot = 0x%llX\n\n",
+ "HW Capability: wr_csr_prot = 0x%" PRIX64 "\n\n",
(p->wr_csr_prot & 0xffff));
break;
case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS:
@@ -2,6 +2,8 @@
* Copyright(c) 2001-2020 Intel Corporation
*/
+#include <inttypes.h>
+
#include "i40e_prototype.h"
/**
@@ -77,7 +79,7 @@ enum i40e_status_code i40e_acquire_nvm(struct i40e_hw *hw,
if (ret_code)
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM acquire type %d failed time_left=%llu ret=%d aq_err=%d\n",
+ "NVM acquire type %d failed time_left=%" PRIu64 " ret=%d aq_err=%d\n",
access, time_left, ret_code, hw->aq.asq_last_status);
if (ret_code && time_left) {
@@ -99,7 +101,7 @@ enum i40e_status_code i40e_acquire_nvm(struct i40e_hw *hw,
if (ret_code != I40E_SUCCESS) {
hw->nvm.hw_semaphore_timeout = 0;
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM acquire timed out, wait %llu ms before trying again. status=%d aq_err=%d\n",
+ "NVM acquire timed out, wait %" PRIu64 " ms before trying again. status=%d aq_err=%d\n",
time_left, ret_code, hw->aq.asq_last_status);
}
}
@@ -1300,7 +1302,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_writing(struct i40e_hw *hw,
gtime = rd32(hw, I40E_GLVFGEN_TIMER);
if (gtime >= hw->nvm.hw_semaphore_timeout) {
i40e_debug(hw, I40E_DEBUG_ALL,
- "NVMUPD: write semaphore expired (%d >= %lld), retrying\n",
+ "NVMUPD: write semaphore expired (%d >= %" PRIu64 "), retrying\n",
gtime, hw->nvm.hw_semaphore_timeout);
i40e_release_nvm(hw);
status = i40e_acquire_nvm(hw, I40E_RESOURCE_WRITE);