On Tue, Aug 2, 2022 at 8:33 AM Mao YingMing wrote: > Thanks for the patch > From: maoyingming > > VFs's "bp->leds" is allways null, check bp->leds is > not null before use bp->leds->num_leds. Typo in 'always' You can just say ' For VFs , bp->leds is uninitialized' > > segfault backtrace in trex program when use VF: > 11: bnxt_hwrm_port_led_cfg (bp=0x23ffb2140, led_on=true) > 10: bnxt_dev_led_on_op (dev=0x22d7780 ) > 9: rte_eth_led_on (port_id=0) > 8: DpdkTRexPortAttr::set_led (this=0x23b6ce0, on=true) > 7: DpdkTRexPortAttr::DpdkTRexPortAttr > 6: CTRexExtendedDriverBnxt::create_port_attr > 5: CPhyEthIF::Create > 4: CGlobalTRex::device_start > 3: CGlobalTRex::Create > 2: main_test > 1: main > > Fixes: d4d5a04 ("net/bnxt: fix unnecessary memory allocation") > Cc: stable@dpdk.org > > Signed-off-by: Mao YingMing > --- > drivers/net/bnxt/bnxt_hwrm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c > index 9c52573..41e6067 100644 > --- a/drivers/net/bnxt/bnxt_hwrm.c > +++ b/drivers/net/bnxt/bnxt_hwrm.c > @@ -4535,7 +4535,7 @@ int bnxt_hwrm_port_led_cfg(struct bnxt *bp, bool led_on) > uint16_t duration = 0; > int rc, i; > > - if (!bp->leds->num_leds || BNXT_VF(bp)) > + if (BNXT_VF(bp) || (!bp->leds) || (!bp->leds->num_leds)) > return -EOPNOTSUPP; > > HWRM_PREP(&req, HWRM_PORT_LED_CFG, BNXT_USE_CHIMP_MB); > -- > 1.8.3.1 >