I take this patch as a simple and short example of what is done at Broadcom for upstreaming the driver updates once a year.
- One patch includes multiple unrelated changes. - A change described in the commit log (increase from 512) does not appear in the code. We could say a lot more about this series. In general, bnxt management looks like a mess. Why not updating more regularly with more attention to quality? Is it because some files are generated? Can we improve by upstreaming the real sources of generated files? 29/10/2025 17:06, Manish Kurup: > From: Jay Ding <[email protected]> > > 1. Thor doesn't support meter stats. Add null pointer check on > ulp_mapper_mtr_stats_hndl_del. > 2. Increased the number of mac_addr_cache from 512 to 2048. > Changed the data type in an error message. > > Signed-off-by: Jay Ding <[email protected]> > Reviewed-by: Shuanglin Wang <[email protected]> > Reviewed-by: Peter Spreadborough <[email protected]> > --- > drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 10 ++++++++++ > drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +- > 2 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c > b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c > index bc48e35c00..7f6a84e699 100644 > --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c > +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c > @@ -598,6 +598,16 @@ bnxt_flow_mtr_destroy(struct rte_eth_dev *dev, > if (ret) > goto parse_error; > > + oper = ulp_mapper_data_oper_get(ulp_ctx); > + if (!oper) > + goto parse_error; > + > + if (oper->ulp_mapper_mtr_stats_hndl_del) { > + ret = oper->ulp_mapper_mtr_stats_hndl_del(mtr_id); > + if (ret) > + goto parse_error; > + } > + > BNXT_DRV_DBG(DEBUG, "Bnxt flow meter %d is deleted\n", mtr_id); > > return 0; > diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c > b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c > index e8cb1a3784..74cdd5c1da 100644 > --- a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c > +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c > @@ -33,7 +33,7 @@ int32_t ulp_bit_alloc_list_alloc(struct bit_alloc_list > *blist, > return 0; > } > jdx = (uint32_t)(bsize_64 * ULP_INDEX_BITMAP_SIZE); > - BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%x\n", jdx); > + BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%d\n", jdx); > return -1; > }

