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)

Reply via email to