Hi Chenbo, Thanks for your review.
> -----Original Message----- > From: Xia, Chenbo <[email protected]> > Sent: Wednesday, October 19, 2022 3:04 PM > To: Pei, Andy <[email protected]>; [email protected] > Cc: Xu, Rosen <[email protected]>; Huang, Wei <[email protected]>; > Cao, Gang <[email protected]>; [email protected] > Subject: RE: [PATCH v8 08/12] vdpa/ifc: add internal API to get device > > > -----Original Message----- > > From: Pei, Andy <[email protected]> > > Sent: Tuesday, October 18, 2022 8:08 PM > > To: [email protected] > > Cc: Xia, Chenbo <[email protected]>; Xu, Rosen > > <[email protected]>; Huang, Wei <[email protected]>; Cao, Gang > > <[email protected]>; [email protected] > > Subject: [PATCH v8 08/12] vdpa/ifc: add internal API to get device > > > > Add new internal API "find_internal_resource_by_rte_dev" > > to get device. > > > > Signed-off-by: Andy Pei <[email protected]> > > --- > > drivers/vdpa/ifc/ifcvf_vdpa.c | 28 ++++++++++++++++++++++++++-- > > 1 file changed, 26 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c > > b/drivers/vdpa/ifc/ifcvf_vdpa.c index 73d04ed..c16e263 100644 > > --- a/drivers/vdpa/ifc/ifcvf_vdpa.c > > +++ b/drivers/vdpa/ifc/ifcvf_vdpa.c > > @@ -144,6 +144,29 @@ struct rte_vdpa_dev_info { > > return list; > > } > > > > +static struct internal_list * > > +find_internal_resource_by_rte_dev(struct rte_device *rte_dev) { > > + int found = 0; > > + struct internal_list *list; > > + > > + pthread_mutex_lock(&internal_list_lock); > > + > > + TAILQ_FOREACH(list, &internal_list, next) { > > + if (rte_dev == &list->internal->pdev->device) { > > + found = 1; > > + break; > > + } > > + } > > + > > + pthread_mutex_unlock(&internal_list_lock); > > + > > + if (!found) > > + return NULL; > > + > > + return list; > > +} > > + > > static int > > ifcvf_vfio_setup(struct ifcvf_internal *internal) { @@ -1398,10 > > +1421,11 @@ struct rte_vdpa_dev_info { { > > struct ifcvf_internal *internal; > > struct internal_list *list; > > + struct rte_device *rte_dev = vdev->device; > > > > - list = find_internal_resource_by_vdev(vdev); > > + list = find_internal_resource_by_rte_dev(rte_dev); > > if (list == NULL) { > > - DRV_LOG(ERR, "Invalid vDPA device: %p", vdev); > > + DRV_LOG(ERR, "Invalid rte device: %p", rte_dev); > > return -1; > > } > > > > -- > > 1.8.3.1 > > Reviewed-by: Chenbo Xia <[email protected]>

