On Thu, 13 Mar 2025 17:42:03 +0100 Serhii Iliushyk <sil-...@napatech.com> wrote:
> Compiling without enabled RTE_ASSERT leads to an error during > initialization > Fix incorrect assert conditions > > Fixes: ff04525d90d3 ("net/ntnic: replace assert with RTE assert") > > Signed-off-by: Serhii Iliushyk <sil-...@napatech.com> > --- > drivers/net/ntnic/adapter/nt4ga_adapter.c | 8 +++++--- > drivers/net/ntnic/nthw/flow_filter/flow_nthw_flm.c | 6 +++--- > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ntnic/adapter/nt4ga_adapter.c > b/drivers/net/ntnic/adapter/nt4ga_adapter.c > index a9ae1fa3f8..cb80c718c3 100644 > --- a/drivers/net/ntnic/adapter/nt4ga_adapter.c > +++ b/drivers/net/ntnic/adapter/nt4ga_adapter.c > @@ -85,6 +85,8 @@ static int nt4ga_adapter_init(struct adapter_info_s > *p_adapter_info) > fpga_info_t *fpga_info = &p_adapter_info->fpga_info; > hw_info_t *p_hw_info = &p_adapter_info->hw_info; > > + RTE_ASSERT(fpga_info); > + > /* > * IMPORTANT: Most variables cannot be determined before nthw fpga > model is instantiated > * (nthw_fpga_init()) > @@ -155,15 +157,15 @@ static int nt4ga_adapter_init(struct adapter_info_s > *p_adapter_info) > } > > #ifdef RTE_ENABLE_ASSERT > - RTE_ASSERT(fpga_info); > - p_fpga = fpga_info->mp_fpga; > - RTE_ASSERT(p_fpga); > n_phy_ports = fpga_info->n_phy_ports; > RTE_ASSERT(n_phy_ports >= 1); > n_nim_ports = fpga_info->n_nims; > RTE_ASSERT(n_nim_ports >= 1); > #endif This whole #ifdef is bad idea. You are depending on implementation and creating side effects. Better to just put all the expressions in the RTE_ASSERT() > > + p_fpga = fpga_info->mp_fpga; > + RTE_ASSERT(p_fpga); The RTE_ASSERT() checking for NULL really doesn't add that much safety. if p_fpga is NULL RTE_ASSERT will crash the application anyway. > /* Nt4ga Init Filter */ > nt4ga_filter_t *p_filter = &p_adapter_info->nt4ga_filter; > > diff --git a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_flm.c > b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_flm.c > index 9bae6a32c8..a56d3c5038 100644 > --- a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_flm.c > +++ b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_flm.c > @@ -685,7 +685,7 @@ int flm_nthw_buf_ctrl_update(const struct flm_nthw *p, > uint32_t *lrn_free, uint3 > if (ret == 0) { > nthw_rac_rab_read32_dma(rac, bus_id, address_bufctrl, 2, > &bc_buf); > ret = rac->m_dma_active ? nthw_rac_rab_dma_commit(rac) : -1; > - RTE_ASSERT(ret == -1); > + RTE_ASSERT(ret != -1); > rte_spinlock_unlock(&rac->m_mutex); > > if (ret != 0) > @@ -785,7 +785,7 @@ int flm_nthw_lrn_data_flush(const struct flm_nthw *p, > const uint32_t *data, uint > nthw_rac_rab_read32_dma(rac, bus_id, address_bufctrl, > 2, &bc_buf); > > int ret = rac->m_dma_active ? > nthw_rac_rab_dma_commit(rac) : -1; > - RTE_ASSERT(ret == -1); > + RTE_ASSERT(ret != -1); > rte_spinlock_unlock(&rac->m_mutex); > if (ret != 0) > return -1; > @@ -847,7 +847,7 @@ int flm_nthw_inf_sta_data_update(const struct flm_nthw > *p, uint32_t *inf_data, > > nthw_rac_rab_read32_dma(rac, bus_id, address_bufctrl, 2, > &bc_buf); > ret = rac->m_dma_active ? nthw_rac_rab_dma_commit(rac) : -1; > - RTE_ASSERT(ret == -1); > + RTE_ASSERT(ret != -1); > rte_spinlock_unlock(&rac->m_mutex); > > if (ret != 0)