On Fri, Sep 20, 2024 at 05:18:14PM +0800, Junxian Huang wrote: > >> diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c > >> index 4cb0af733587..49315f39361d 100644 > >> --- a/drivers/infiniband/hw/hns/hns_roce_main.c > >> +++ b/drivers/infiniband/hw/hns/hns_roce_main.c > >> @@ -466,6 +466,11 @@ static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma) > >> pgprot_t prot; > >> int ret; > >> > >> + if (hr_dev->dis_db) { > > > > How do you clear dis_db after calling to hns_roce_hw_v2_reset_notify_down()? Does it have any locking protection? > > > > Sorry for the late response, I just came back from vacation. > > After calling hns_roce_hw_v2_reset_notify_down(), we will call ib_unregister_device() > and destory all HW resources eventually, so there is no need to clear dis_db. Why can't you do the unregister device sooner then and avoid all this special stuff? I assumed you'd bring the same device back after completing the reset?? Jason