On Wed, Mar 09, 2022 at 10:22:42AM +0800, Yifan Zhang wrote: > it makes no sense to continue with an undefined vmid. > > Fixes: d21bcfc01eb1 (drm/amdkfd: judge get_atc_vmid_pasid_mapping_info before call) > > Signed-off-by: Yifan Zhang <yifan1.zhang@xxxxxxx> > Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx> Thank you for the quick fix! Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > .../drm/amd/amdkfd/kfd_device_queue_manager.c | 21 +++++++++++-------- > 1 file changed, 12 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > index 77364afdc606..acf4f7975850 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > @@ -500,21 +500,24 @@ static int dbgdev_wave_reset_wavefronts(struct kfd_dev *dev, struct kfd_process > > pr_debug("Killing all process wavefronts\n"); > > + if (!dev->kfd2kgd->get_atc_vmid_pasid_mapping_info) { > + pr_err("no vmid pasid mapping supported \n"); > + return -EOPNOTSUPP; > + } > + > /* Scan all registers in the range ATC_VMID8_PASID_MAPPING .. > * ATC_VMID15_PASID_MAPPING > * to check which VMID the current process is mapped to. > */ > > - if (dev->kfd2kgd->get_atc_vmid_pasid_mapping_info) { > - for (vmid = first_vmid_to_scan; vmid <= last_vmid_to_scan; vmid++) { > - status = dev->kfd2kgd->get_atc_vmid_pasid_mapping_info > - (dev->adev, vmid, &queried_pasid); > + for (vmid = first_vmid_to_scan; vmid <= last_vmid_to_scan; vmid++) { > + status = dev->kfd2kgd->get_atc_vmid_pasid_mapping_info > + (dev->adev, vmid, &queried_pasid); > > - if (status && queried_pasid == p->pasid) { > - pr_debug("Killing wave fronts of vmid %d and pasid 0x%x\n", > - vmid, p->pasid); > - break; > - } > + if (status && queried_pasid == p->pasid) { > + pr_debug("Killing wave fronts of vmid %d and pasid 0x%x\n", > + vmid, p->pasid); > + break; > } > } > > -- > 2.25.1 >