Hi Wei, Some ci/iol-intel-Functional issues, pls check. Thanks a lot.
> -----Original Message----- > From: Huang, Wei <[email protected]> > Sent: Wednesday, January 19, 2022 13:54 > To: [email protected]; Xu, Rosen <[email protected]>; Zhang, Qi Z > <[email protected]> > Cc: [email protected]; Zhang, Tianfei <[email protected]>; Yigit, Ferruh > <[email protected]> > Subject: [PATCH v1] raw/ifpga: fix pthread cannot join > > From: Tianfei Zhang <[email protected]> > > When we want to close a thread, we should set a flag to thread handler > function. > > Fixes: 9c006c45 ("raw/ifpga: scan PCIe BDF device tree") > Cc: [email protected] > > Signed-off-by: Tianfei Zhang <[email protected]> > --- > drivers/raw/ifpga/ifpga_rawdev.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/raw/ifpga/ifpga_rawdev.c > b/drivers/raw/ifpga/ifpga_rawdev.c > index 8d9db58..9663b67 100644 > --- a/drivers/raw/ifpga/ifpga_rawdev.c > +++ b/drivers/raw/ifpga/ifpga_rawdev.c > @@ -497,7 +497,7 @@ static int set_surprise_link_check_aer( > int gsd_enable, ret; > #define MS 1000 > > - while (1) { > + while (ifpga_monitor_start) { > gsd_enable = 0; > for (i = 0; i < IFPGA_RAWDEV_NUM; i++) { > ifpga_rdev = &ifpga_rawdevices[i]; > @@ -544,7 +544,9 @@ static int set_surprise_link_check_aer( { > int ret; > > - if (ifpga_monitor_start == 1) { > + if (ifpga_monitor_start == 1 && ifpga_monitor_start_thread) { > + ifpga_monitor_start = 0; > + > ret = pthread_cancel(ifpga_monitor_start_thread); > if (ret) > IFPGA_RAWDEV_PMD_ERR("Can't cancel the > thread"); @@ -553,8 +555,6 @@ static int set_surprise_link_check_aer( > if (ret) > IFPGA_RAWDEV_PMD_ERR("Can't join the thread"); > > - ifpga_monitor_start = 0; > - > return ret; > } > > -- > 1.8.3.1

