> -----Original Message----- > From: Jeff Guo [mailto:jia....@intel.com] > Sent: Friday, June 12, 2020 1:56 PM > To: wangyunjian <wangyunj...@huawei.com>; dev@dpdk.org > Cc: Lilijun (Jerry) <jerry.lili...@huawei.com>; xudingke > <xudin...@huawei.com>; sta...@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 2/3] eal: fix remove incorrect event_cb > > hi, yunjian > > On 6/3/2020 8:55 PM, wangyunjian wrote: > > From: Yunjian Wang <wangyunj...@huawei.com> > > > > When the device_name is NULL, it will remove the event_cb directly. > > We need to compare the 'cb_fn' and 'cb_arg' at the same time. > > > > Fixes: a753e53d517b ("eal: add device event monitor framework") > > Cc: sta...@dpdk.org > > > > Signed-off-by: Yunjian Wang <wangyunj...@huawei.com> > > --- > > lib/librte_eal/common/eal_common_dev.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/lib/librte_eal/common/eal_common_dev.c > > b/lib/librte_eal/common/eal_common_dev.c > > index 4cfdb80..6b465bc 100644 > > --- a/lib/librte_eal/common/eal_common_dev.c > > +++ b/lib/librte_eal/common/eal_common_dev.c > > @@ -516,7 +516,12 @@ static int cmp_dev_name(const struct rte_device > *dev, const void *_name) > > event_cb->cb_arg != cb_arg)) > > continue; > > } > > - } else if (device_name != NULL) { > > + } else if (device_name == NULL && event_cb->dev_name == NULL) { > > + if (event_cb->cb_fn != cb_fn || > > + (cb_arg != (void *)-1 && > > + event_cb->cb_arg != cb_arg)) > > + continue; > > + } else { > > > If we expect flush all event_cb when device_name is NULL, why we should > check the cb_fn and cb_arg?
Oh, sorry! My mistake, I am wrong to think that this function is used like rte_intr_callback_register()/rte_intr_callback_unregister(). Please discard it. Thanks, Yunjian > > > > continue; > > } > >