Ok, scan of ntnic with PVS studio after this bundle.
Similar to Coverity it is a good automated tool for finding bugs.

MESSAGES
LocationCodeMessage
Fails/Info
nt4ga_adapter.c (129)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. Under certain conditions the pointer can be null.
nt4ga_adapter.c (150)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. Under certain conditions the pointer can be null.
nt4ga_stat.c (252)
V595The 'p_nt4ga_stat' pointer was utilized before it was verified against nullptr. Check lines: 252, 259.
nt4ga_stat.c (47)
V547Expression 'p_nt4ga_stat' is always true.
ntnic_dbsconfig.c (595)
V595The 'txvq' pointer was utilized before it was verified against nullptr. Check lines: 595, 597.
ntnic_dbsconfig.c (765)
V547Expression 'irq_vector >= 0' is always false.
ntnic_dbsconfig.c (400)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
hw_mod_backend.h (750)
V1071Consider inspecting the 'hw_mod_hsh_rcp_set' function. The return value is not always used. Total calls: 15, discarded results: 1.
nt4ga_link_100g.c (259)
V781The value of the 'port' variable is checked after it was used. Perhaps there is a mistake in program logic. Check lines: 259, 261.
nt4ga_link_100g.c (674)
V560A part of conditional expression is always true: res == 0.
nt4ga_agx_link_100g.c (696)
V523The 'then' statement is equivalent to the 'else' statement.
nt4ga_agx_link_100g.c (1012)
V547Expression 'res == 0' is always true.
nt4ga_agx_link_100g.c (1021)
V547Expression 'res == 0' is always true.
nt4ga_agx_link_100g.c (522)
V781The value of the 'port' variable is checked after it was used. Perhaps there is a mistake in program logic. Check lines: 522, 524.
nt4ga_agx_link_100g.c (916)
V619The array 'nim_ctx' is being utilized as a pointer to single object.
nt4ga_agx_link_100g.c (318)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
nt4ga_agx_link_100g.c (370)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nt4ga_agx_link_100g.c (370)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nt4ga_agx_link_100g.c (385)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
nt4ga_agx_link_100g.c (391)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
nt4ga_agx_link_100g.c (976)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
nt4ga_agx_link_100g.c (984)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
nt4ga_agx_link_100g.c (380)
V1051Consider checking for misprints. It's possible that the 'state->link_up' should be checked here.
i2c_nim.c (126)
V547Expression 'multi_byte == 1' is always true.
i2c_nim.c (881)
V519The variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 880, 881.
nthw_fpga_rst9563.c (62)
V519The 'p->mp_fld_rst_ptp' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 61, 62.
nthw_fpga_rst9563.c (107)
V547Expression '!p->mp_fld_stat_tsm_ref_mmcm_locked' is always true.
nthw_fpga_rst9563.c (129)
V547Expression '!p->mp_fld_sticky_tsm_ref_mmcm_unlocked' is always true.
nthw_fpga_rst_nt200a0x.c (531)
V519The 'res' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 530, 531.
nthw_fpga_rst_nt200a0x.c (62)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_fpga_rst_nt200a0x.c (72)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_fpga_nt400dxx.c (187)
V547Expression 'rst9574_ops' is always true.
nthw_fpga_rst_nt400dxx.c (185)
V595The 'p_fpga_info' pointer was utilized before it was verified against nullptr. Check lines: 185, 194.
nthw_fpga_rst_nt400dxx.c (60)
V525The code contains the collection of similar blocks. Check items 'nthw_prm_nt400dxx_platform_rst', 'nthw_prm_nt400dxx_periph_rst', 'nthw_prm_nt400dxx_periph_rst' in lines 60, 64, 66.
nthw_fpga_rst_nt400dxx.c (116)
V525The code contains the collection of similar blocks. Check items '0', '1', '0', '0', '1' in lines 116, 122, 128, 134, 140.
nthw_fpga.c (623)
V595The 'p_fpga_info' pointer was utilized before it was verified against nullptr. Check lines: 623, 639.
nthw_fpga.c (317)
V560A part of conditional expression is always false: avr_vpd_info.n_avr_spi_version >= 3.
nthw_fpga.c (387)
V560A part of conditional expression is always false: avr_vpd_info.n_avr_spi_version >= 3.
nthw_fpga.c (469)
V560A part of conditional expression is always false: avr_vpd_info.n_avr_spi_version >= 3.
nthw_fpga.c (831)
V560A part of conditional expression is always true: p_fpga_info.
nthw_fpga.c (831)
V571Recurring check. The 'p_fpga_info' condition was already verified in line 830.
nthw_fpga.c (524)
V1086A call of the 'memcpy' function will lead to underflow of the buffer '& p_vpd_board_info[0]'.
nthw_hif.c (27)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_hif.c (82)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_iic.c (257)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_iic.c (242)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_pcie3.c (28)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_pcm_nt400dxx.c (45)
V525The code contains the collection of similar blocks. Check items 'nthw_register_query_field', 'nthw_register_get_field', 'nthw_register_get_field' in lines 45, 49, 53.
nthw_phy_tile.c (821)
V547Expression 'i == 0' is always false.
nthw_phy_tile.c (800)
V1048The 'xcvr_instance' variable was assigned the same value.
nthw_phy_tile.c (86)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
nthw_rpf.c (26)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_sdc.c (26)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_sdc.c (135)
V547Expression 'pn_result_mask' is always true.
nthw_si5340.c (48)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_spi_v3.c (140)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_spi_v3.c (148)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_spi_v3.c (154)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_spi_v3.c (159)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_tsm.c (92)
V547Expression 'p_ts' is always true.
nthw_tsm.c (111)
V547Expression 'p_time' is always true.
flow_api.c (833)
V547Expression 'ndev' is always true.
flow_api.c (999)
V1029Numeric Truncation Error. Return value of the 'strlen' function is written to the 16-bit variable.
flow_api.c (1001)
V1029Numeric Truncation Error. Return value of the 'strlen' function is written to the 16-bit variable.
flow_api.c (214)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_api.c (227)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_api.c (428)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_group.c (35)
V522There might be dereferencing of a potential null pointer 'group_handle'. Check lines: 35, 32.
flow_hsh_cfg.c (74)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_hsh_cfg.c (77)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_id_table.c (71)
V522There might be dereferencing of a potential null pointer 'handle'. Check lines: 71, 69.
flow_km.c (583)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_km.c (614)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_km.c (791)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_km.c (92)
V769The '(char *) km->cam_dist' pointer in the expression could be nullptr. In such case, resulting value of arithmetic operations on this pointer will be senseless and it should not be used. Check lines: 92, 85.
hw_mod_flm.c (836)
V547Expression 'be->flm.ver < 18' is always false.
hw_mod_hsh.c (127)
V568It's odd that 'sizeof()' operator evaluates the size of a pointer to a class, but not the size of the 'be->hsh.v5.rcp' class object.
hw_mod_hsh.c (130)
V1064The 'buffer_size' operand of integer division is less than the 'element_size' one. The result will always be zero.
hw_mod_hsh.c (133)
V560A part of conditional expression is always false: index < max_idx. Unsigned type value is never < 0.
hw_mod_hsh.c (133)
V560A part of conditional expression is always false: word_off < max_idx. Unsigned type value is never < 0.
hw_mod_pdb.c (137)
V568It's odd that 'sizeof()' operator evaluates the size of a pointer to a class, but not the size of the 'be->pdb.v9.rcp' class object.
hw_mod_pdb.c (140)
V1064The 'buffer_size' operand of integer division is less than the 'element_size' one. The result will always be zero.
hw_mod_pdb.c (143)
V560A part of conditional expression is always false: * value < max_idx. Unsigned type value is never < 0.
hw_mod_pdb.c (143)
V560A part of conditional expression is always false: index < max_idx. Unsigned type value is never < 0.
flm_evt_queue.c (194)
V557Array overrun is possible. The value of 'port' index could reach 127.
flm_evt_queue.c (202)
V557Array overrun is possible. The value of 'port' index could reach 127.
flm_evt_queue.c (80)
V1037Two or more case-branches perform the same actions. Check lines: 80, 88
flm_evt_queue.c (84)
V1037Two or more case-branches perform the same actions. Check lines: 84, 92
flow_api_hw_db_inline.c (2461)
V1086A call of the 'memset' function will lead to underflow of the buffer '& db->flm[idx.id1].data'.
flow_api_hw_db_inline.c (426)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (428)
V576Incorrect format. Consider checking the fifth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (428)
V576Incorrect format. Consider checking the fourth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (428)
V576Incorrect format. Consider checking the sixth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (428)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (438)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (446)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (455)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (457)
V576Incorrect format. Consider checking the eighth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (457)
V576Incorrect format. Consider checking the fifth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (457)
V576Incorrect format. Consider checking the fourth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (457)
V576Incorrect format. Consider checking the seventh actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (457)
V576Incorrect format. Consider checking the sixth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (457)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (467)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (482)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (494)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (509)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (518)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (526)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (560)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (578)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (579)
V576Incorrect format. Consider checking the fifth actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (579)
V576Incorrect format. Consider checking the fourth actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (579)
V576Incorrect format. Consider checking the sixth actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (579)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (581)
V576Incorrect format. Consider checking the fifth actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (581)
V576Incorrect format. Consider checking the fourth actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (581)
V576Incorrect format. Consider checking the sixth actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (581)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (583)
V576Incorrect format. Consider checking the fourth actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (583)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The integer argument of 32-bit size is expected.
flow_api_hw_db_inline.c (596)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (604)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (610)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (618)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (619)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (620)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (621)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (627)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (628)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (629)
V576Incorrect format. Consider checking the fourth actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (629)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (636)
V576Incorrect format. Consider checking the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected.
flow_api_hw_db_inline.c (706)
V1037Two or more case-branches perform the same actions. Check lines: 706, 736, 742
flow_api_profile_inline.c (117)
V629Consider inspecting the '1 << (shift - 1)' expression. Bit shifting of the 32-bit value with a subsequent expansion to the 64-bit type.
flow_api_profile_inline.c (738)
V674The '0.01' literal of the 'double' type is compared to a value of the 'int' type. Consider inspecting the '0.01 > 0' expression.
flow_api_profile_inline.c (3469)
V522There might be dereferencing of a potential null pointer 'fh'. Check lines: 3469, 3467.
flow_api_profile_inline.c (4925)
V522There might be dereferencing of a potential null pointer 'template'. Check lines: 4925, 4923.
flow_api_profile_inline.c (4990)
V522There might be dereferencing of a potential null pointer 'template'. Check lines: 4990, 4988.
flow_api_profile_inline.c (5262)
V522There might be dereferencing of a potential null pointer 'fh'. Check lines: 5262, 5260.
flow_api_profile_inline.c (4307)
V547Expression 'err' is always false.
flow_api_profile_inline.c (2040)
V560A part of conditional expression is always true: match_cnt == 1.
flow_api_profile_inline.c (196)
V1032The pointer is cast to a more strictly aligned pointer type
flow_api_profile_inline.c (254)
V1032The pointer is cast to a more strictly aligned pointer type
flow_api_profile_inline.c (294)
V1032The pointer is cast to a more strictly aligned pointer type
flow_api_profile_inline.c (347)
V1032The pointer is cast to a more strictly aligned pointer type
flow_api_profile_inline.c (434)
V1032The pointer 'data' is cast to a more strictly aligned pointer type.
flow_api_profile_inline.c (510)
V1032The pointer 'data' is cast to a more strictly aligned pointer type.
flow_api_profile_inline.c (980)
V1032The pointer is cast to a more strictly aligned pointer type
flow_api_profile_inline.c (4758)
V523The 'then' statement is equivalent to the 'else' statement.
flow_api_profile_inline.c (2272)
V525The code contains the collection of similar blocks. Check items 'qw_data', 'qw_data', 'qw_mask' in lines 2272, 2273, 2275.
flow_api_profile_inline.c (1160)
V576Incorrect format. Consider checking the eighth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
flow_api_profile_inline.c (1224)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_api_profile_inline.c (3133)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_api_profile_inline.c (4507)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
flow_api_profile_inline.c (3573)
V1048The 'action_set_data.contains_jump' variable was assigned the same value.
flow_api_profile_inline.c (972)
V1051Consider checking for misprints. It's possible that the 'flm_id' should be checked here.
flow_nthw_cat.c (29)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_csu.c (33)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_flm.c (30)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_flm.c (736)
V1020The function exited without calling the 'rte_spinlock_unlock' function. Check lines: 736, 729.
flow_nthw_hfu.c (33)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_hsh.c (34)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_info.c (34)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_km.c (43)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_pdb.c (34)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_qsl.c (34)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_rpp_lr.c (33)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_rpp_lr.c (65)
V1004The 'p->m_rpp_lr' pointer was used unsafely after it was verified against nullptr. Check lines: 57, 65.
flow_nthw_slc_lr.c (34)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_tx_cpy.c (34)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_tx_ins.c (33)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
flow_nthw_tx_rpl.c (33)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_fpga_model.c (491)
V595The 'p->m_rpp_lr' pointer was utilized before it was verified against nullptr. Check lines: 'nthw_fpga_model.c:479', 'nthw_fpga_model.c:491', 'flow_nthw_rpp_lr.c:65', 'flow_nthw_rpp_lr.c:69'.
nthw_fpga_model.c (186)
V597The compiler could delete the 'memset' function call, which is used to flush 'p' object. The memset_s() function should be used to erase the private data.
nthw_fpga_model.c (365)
V522Dereferencing of the null pointer might take place. The potential null pointer is passed into 'nthw_fpga_get_param_info' function. Inspect the second argument. Check lines: 'nthw_fpga_model.c:365', 'nthw_fpga.c:25', 'nthw_fpga.c:687'.
nthw_fpga_model.c (906)
V576Incorrect format. Consider checking the 14th actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_fpga_model.c (906)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (515)
V547Expression '(word_cnt + 3) > (0x4000)' is always false.
nthw_rac.c (34)
V575The potential null pointer is passed into 'memset' function. Inspect the first argument. Check lines: 34, 33.
nthw_rac.c (265)
V576Incorrect format. Consider checking the eighth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (469)
V576Incorrect format. Consider checking the eighth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (508)
V576Incorrect format. Consider checking the eighth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (560)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (578)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (747)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (768)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
nthw_rac.c (94)
V1048The 'p->mp_reg_dbg_data' variable was assigned the same value.
ntnic_meter.c (89)
V525The code contains the collection of similar blocks. Check items '0', '1', '0', '0', '0', '0' in lines 89, 90, 91, 94, 95, 96.
nthw_stat.c (257)
V1048The 'p->mn_stat_layout_version' variable was assigned the same value.
ntnic_ethdev.c (2194)
V547Expression 'err == 0' is always true.
ntnic_ethdev.c (334)
V595The 'internals->p_drv' pointer was utilized before it was verified against nullptr. Check lines: 334, 350.
ntnic_ethdev.c (2268)
V547Expression '(1 << n_intf_no) & ~n_port_mask' is always false.
ntnic_ethdev.c (191)
V560A part of conditional expression is always false: !p_nt4ga_stat.
ntnic_ethdev.c (238)
V560A part of conditional expression is always false: !p_nt4ga_stat.
ntnic_ethdev.c (1763)
V1044Loop break conditions do not depend on the number of iterations.
ntnic_ethdev.c (1900)
V1044Loop break conditions do not depend on the number of iterations.
ntnic_ethdev.c (1935)
V1044Loop break conditions do not depend on the number of iterations.
ntnic_ethdev.c (1942)
V1044Loop break conditions do not depend on the number of iterations.
ntnic_ethdev.c (1370)
V547Expression 'port == internals->n_intf_no' is always true.
ntnic_ethdev.c (1396)
V547Expression 'port == internals->n_intf_no' is always true.
ntnic_ethdev.c (375)
V574The 'hw_recv' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 375, 457.
ntnic_ethdev.c (844)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (866)
V576Incorrect format. Consider checking the tenth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (907)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (974)
V576Incorrect format. Consider checking the seventh actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
ntnic_ethdev.c (974)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
ntnic_ethdev.c (1012)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (1042)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (1076)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (1136)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (1277)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
ntnic_ethdev.c (1335)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
ntnic_ethdev.c (2302)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_ethdev.c (2308)
V576Incorrect format. Consider checking the sixth actual argument of the 'rte_log' function. The SIGNED integer type argument is expected.
ntnic_filter.c (481)
V595The 'internals' pointer was utilized before it was verified against nullptr. Check lines: 481, 487.
ntnic_filter.c (1159)
V560A part of conditional expression is always false: !p_nt4ga_stat.
ntnic_filter.c (357)
V576Incorrect format. Consider checking the fifth actual argument of the 'rte_log' function. The UNSIGNED integer type argument is expected.
ntnic_filter.c (1121)
V1027Pointer to an object of the 'flow_handle' class is cast to unrelated 'rte_flow' class.
ntnic_filter.c (1143)
V1027Pointer to an object of the 'rte_flow' class is cast to unrelated 'flow_handle' class.
ntnic_vfio.c (81)
V1048The 'vfio->container_fd' variable was assigned the same value.

On Thu, Feb 20, 2025 at 2:04 PM Serhii Iliushyk <sil-plv@napatech.com> wrote:
This patchset adds support for the new adapter NT400D13.

Danylo Vodopianov (23):
  net/ntnic: add link agx 100g
  net/ntnic: add link state machine
  net/ntnic: add rpf and gfg init
  net/ntnic: add agx setup for port
  net/ntnic: add host loopback init
  net/ntnic: add line loopback init
  net/ntnic: add 100 gbps port init
  net/ntnic: add port post init
  net/ntnic: add nim low power API
  net/ntnic: add link handling API
  net/ntnic: add port init to the state machine
  net/ntnic: add port disable API
  net/ntnic: add nt400d13 pcm init
  net/ntnic: add HIF clock test
  net/ntnic: add nt400d13 PRM module init
  net/ntnic: add nt400d13 PRM module reset
  net/ntnic: add SPI v3 support for FPGA
  net/ntnic: add i2cm init
  net/ntnic: add pca init
  net/ntnic: add pcal init
  net/ntnic: add reset PHY init
  net/ntnic: add igam module init
  net/ntnic: init IGAM and config PLL for FPGA

Serhii Iliushyk (9):
  net/ntnic: add minimal initialization new NIC NT400D13
  net/ntnic: add minimal reset FPGA
  net/ntnic: add FPGA modules and registers
  net/ntnic: add setup for fpga reset
  net/ntnic: add default reset setting for NT400D13
  net/ntnic: add DDR calibration to reset stage
  net/ntnic: add PHY ftile reset
  net/ntnic: add clock init
  net/ntnic: revert untrusted loop bound

 doc/guides/nics/ntnic.rst                     |    7 +-
 doc/guides/rel_notes/release_25_03.rst        |    4 +
 drivers/net/ntnic/adapter/nt4ga_adapter.c     |    9 +
 drivers/net/ntnic/include/nt4ga_link.h        |    7 +
 drivers/net/ntnic/include/nthw_gfg.h          |   33 +
 drivers/net/ntnic/include/ntnic_nim.h         |    5 +
 .../include/ntnic_nthw_fpga_rst_nt400dxx.h    |   34 +
 .../link_agx_100g/nt4ga_agx_link_100g.c       | 1029 ++++++
 drivers/net/ntnic/meson.build                 |   16 +
 drivers/net/ntnic/nim/i2c_nim.c               |  158 +-
 drivers/net/ntnic/nim/i2c_nim.h               |    6 +
 ...00D13_U62_Si5332-GM2-RevD-1_V5-Registers.h |  425 +++
 .../net/ntnic/nthw/core/include/nthw_fpga.h   |   10 +
 .../net/ntnic/nthw/core/include/nthw_gmf.h    |    2 +
 .../net/ntnic/nthw/core/include/nthw_hif.h    |    4 +
 .../net/ntnic/nthw/core/include/nthw_i2cm.h   |    3 +
 .../net/ntnic/nthw/core/include/nthw_igam.h   |   40 +
 .../ntnic/nthw/core/include/nthw_pca9532.h    |   25 +
 .../ntnic/nthw/core/include/nthw_pcal6416a.h  |   33 +
 .../nthw/core/include/nthw_pcm_nt400dxx.h     |   40 +
 .../ntnic/nthw/core/include/nthw_phy_tile.h   |  156 +
 .../nthw/core/include/nthw_prm_nt400dxx.h     |   32 +
 .../nthw/core/include/nthw_si5332_si5156.h    |   63 +
 .../net/ntnic/nthw/core/include/nthw_spi_v3.h |  107 +
 .../net/ntnic/nthw/core/include/nthw_spim.h   |   58 +
 .../net/ntnic/nthw/core/include/nthw_spis.h   |   63 +
 .../nthw/core/nt400dxx/nthw_fpga_nt400dxx.c   |  220 ++
 .../core/nt400dxx/reset/nthw_fpga_rst9574.c   |  377 ++
 .../nt400dxx/reset/nthw_fpga_rst_nt400dxx.c   |  427 +++
 drivers/net/ntnic/nthw/core/nthw_fpga.c       |  464 +++
 drivers/net/ntnic/nthw/core/nthw_gfg.c        |  340 ++
 drivers/net/ntnic/nthw/core/nthw_gmf.c        |   41 +
 drivers/net/ntnic/nthw/core/nthw_hif.c        |   92 +
 drivers/net/ntnic/nthw/core/nthw_i2cm.c       |  139 +
 drivers/net/ntnic/nthw/core/nthw_igam.c       |   93 +
 drivers/net/ntnic/nthw/core/nthw_pca9532.c    |   60 +
 drivers/net/ntnic/nthw/core/nthw_pcal6416a.c  |  103 +
 .../net/ntnic/nthw/core/nthw_pcm_nt400dxx.c   |   80 +
 drivers/net/ntnic/nthw/core/nthw_phy_tile.c   | 1242 +++++++
 .../net/ntnic/nthw/core/nthw_prm_nt400dxx.c   |   55 +
 .../net/ntnic/nthw/core/nthw_si5332_si5156.c  |  142 +
 drivers/net/ntnic/nthw/core/nthw_spi_v3.c     |  358 ++
 drivers/net/ntnic/nthw/core/nthw_spim.c       |  113 +
 drivers/net/ntnic/nthw/core/nthw_spis.c       |  121 +
 drivers/net/ntnic/nthw/nthw_drv.h             |   31 +
 drivers/net/ntnic/nthw/nthw_platform.c        |    3 +
 drivers/net/ntnic/nthw/nthw_platform_drv.h    |    2 +
 .../supported/nthw_fpga_9574_055_049_0000.c   | 3124 +++++++++++++++++
 .../nthw/supported/nthw_fpga_instances.c      |    5 +-
 .../nthw/supported/nthw_fpga_instances.h      |    1 +
 .../ntnic/nthw/supported/nthw_fpga_mod_defs.h |   11 +
 .../nthw/supported/nthw_fpga_mod_str_map.c    |   11 +
 .../ntnic/nthw/supported/nthw_fpga_reg_defs.h |   11 +
 .../nthw/supported/nthw_fpga_reg_defs_igam.h  |   32 +
 .../supported/nthw_fpga_reg_defs_pci_ta.h     |   33 +
 .../nthw_fpga_reg_defs_pcm_nt400dxx.h         |   29 +
 .../nthw/supported/nthw_fpga_reg_defs_pdi.h   |   49 +
 .../supported/nthw_fpga_reg_defs_phy_tile.h   |  213 ++
 .../nthw_fpga_reg_defs_prm_nt400dxx.h         |   26 +
 .../nthw/supported/nthw_fpga_reg_defs_rfd.h   |   38 +
 .../supported/nthw_fpga_reg_defs_rst9574.h    |   35 +
 .../nthw/supported/nthw_fpga_reg_defs_spim.h  |   76 +
 .../nthw/supported/nthw_fpga_reg_defs_spis.h  |   51 +
 .../nthw/supported/nthw_fpga_reg_defs_tint.h  |   28 +
 drivers/net/ntnic/ntnic_ethdev.c              |    1 +
 drivers/net/ntnic/ntnic_filter/ntnic_filter.c |    2 +-
 drivers/net/ntnic/ntnic_mod_reg.c             |   47 +
 drivers/net/ntnic/ntnic_mod_reg.h             |   25 +
 68 files changed, 10709 insertions(+), 11 deletions(-)
 create mode 100644 drivers/net/ntnic/include/nthw_gfg.h
 create mode 100644 drivers/net/ntnic/include/ntnic_nthw_fpga_rst_nt400dxx.h
 create mode 100644 drivers/net/ntnic/link_mgmt/link_agx_100g/nt4ga_agx_link_100g.c
 create mode 100644 drivers/net/ntnic/nthw/core/include/NT400D13_U62_Si5332-GM2-RevD-1_V5-Registers.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_igam.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_pca9532.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_pcal6416a.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_pcm_nt400dxx.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_phy_tile.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_prm_nt400dxx.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_si5332_si5156.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_spi_v3.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_spim.h
 create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_spis.h
 create mode 100644 drivers/net/ntnic/nthw/core/nt400dxx/nthw_fpga_nt400dxx.c
 create mode 100644 drivers/net/ntnic/nthw/core/nt400dxx/reset/nthw_fpga_rst9574.c
 create mode 100644 drivers/net/ntnic/nthw/core/nt400dxx/reset/nthw_fpga_rst_nt400dxx.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_gfg.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_igam.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_pca9532.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_pcal6416a.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_pcm_nt400dxx.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_phy_tile.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_prm_nt400dxx.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_si5332_si5156.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_spi_v3.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_spim.c
 create mode 100644 drivers/net/ntnic/nthw/core/nthw_spis.c
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_9574_055_049_0000.c
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_igam.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_pci_ta.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_pcm_nt400dxx.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_pdi.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_phy_tile.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_prm_nt400dxx.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_rfd.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_rst9574.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_spim.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_spis.h
 create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_tint.h

--
2.45.0