Message ID | 20190903192021.25789-2-maurosr@linux.vnet.ibm.com |
---|---|
State | Accepted |
Delegated to: | Jeff Kirsher |
Headers | show |
Series | [v2,net-next,1/2] i40e: fix hw_dbg usage in i40e_hmc_get_object_va | expand |
> -----Original Message----- > From: Mauro S. M. Rodrigues [mailto:maurosr@linux.vnet.ibm.com] > Sent: Tuesday, September 3, 2019 12:20 PM > To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com> > Cc: intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; > davem@davemloft.net; Bowers, AndrewX <andrewx.bowers@intel.com>; > Jakub Kicinski <jakub.kicinski@netronome.com>; > maurosr@linux.vnet.ibm.com > Subject: [PATCH v2 net-next 2/2] i40e: Implement debug macro hw_dbg > using dev_dbg > > There are several uses of hw_dbg in the code, producing no output. This > patch implments it using dev_debug. > > Initially the intention was to implement it using netdev_dbg, analogously to > what is done in ixgbe for instance. That approach was avoided due to some > early usages of hw_dbg, like i40e_pf_reset, before the vsi structure > initialization causing NULL pointer dereference during the driver probe if the > dbg messages were turned on as soon as the module is probed. > > v2: > - Use dev_dbg instead of pr_debug, and take advantage of dev_name > instead of crafting pretty much the same device name locally as suggested by > Jakub Kicinski. > > Signed-off-by: Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com> > --- > drivers/net/ethernet/intel/i40e/i40e_common.c | 1 + > drivers/net/ethernet/intel/i40e/i40e_hmc.c | 1 + > drivers/net/ethernet/intel/i40e/i40e_osdep.h | 5 ++++- > 3 files changed, 6 insertions(+), 1 deletion(-) Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c index 906cf68d3453..a51678166ff9 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_common.c +++ b/drivers/net/ethernet/intel/i40e/i40e_common.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright(c) 2013 - 2018 Intel Corporation. */ +#include "i40e.h" #include "i40e_type.h" #include "i40e_adminq.h" #include "i40e_prototype.h" diff --git a/drivers/net/ethernet/intel/i40e/i40e_hmc.c b/drivers/net/ethernet/intel/i40e/i40e_hmc.c index 19ce93d7fd0a..163ee8c6311c 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_hmc.c +++ b/drivers/net/ethernet/intel/i40e/i40e_hmc.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright(c) 2013 - 2018 Intel Corporation. */ +#include "i40e.h" #include "i40e_osdep.h" #include "i40e_register.h" #include "i40e_status.h" diff --git a/drivers/net/ethernet/intel/i40e/i40e_osdep.h b/drivers/net/ethernet/intel/i40e/i40e_osdep.h index a07574bff550..c302ef2524f8 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_osdep.h +++ b/drivers/net/ethernet/intel/i40e/i40e_osdep.h @@ -18,7 +18,10 @@ * actual OS primitives */ -#define hw_dbg(hw, S, A...) do {} while (0) +#define hw_dbg(hw, S, A...) \ +do { \ + dev_dbg(&((struct i40e_pf *)hw->back)->pdev->dev, S, ##A); \ +} while (0) #define wr32(a, reg, value) writel((value), ((a)->hw_addr + (reg))) #define rd32(a, reg) readl((a)->hw_addr + (reg))
There are several uses of hw_dbg in the code, producing no output. This patch implments it using dev_debug. Initially the intention was to implement it using netdev_dbg, analogously to what is done in ixgbe for instance. That approach was avoided due to some early usages of hw_dbg, like i40e_pf_reset, before the vsi structure initialization causing NULL pointer dereference during the driver probe if the dbg messages were turned on as soon as the module is probed. v2: - Use dev_dbg instead of pr_debug, and take advantage of dev_name instead of crafting pretty much the same device name locally as suggested by Jakub Kicinski. Signed-off-by: Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com> --- drivers/net/ethernet/intel/i40e/i40e_common.c | 1 + drivers/net/ethernet/intel/i40e/i40e_hmc.c | 1 + drivers/net/ethernet/intel/i40e/i40e_osdep.h | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-)