Subject: Coverity: gmc_v10_0_flush_gpu_tlb_pasid(): Program hangs

From: coverity-bot <[email-masked]>
Date: Fri, 24 Apr 2020 08:26:24 -0700

Hello!

This is an experimental semi-automated report about issues detected by
Coverity from a scan of next-20200424 as part of the linux-next scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan

You're getting this email because you were associated with the identified
lines of code (noted below) that were touched by commits:

  Thu Apr 23 12:05:54 2020 +0800
    82478876eaac ("drm/amdgpu: protect ring overrun")

Coverity reported the following:

*** CID 1492715:  Program hangs  (LOCK)
/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c: 434 in gmc_v10_0_flush_gpu_tlb_pasid()
428     		kiq->pmf->kiq_invalidate_tlbs(ring,
429     					pasid, flush_type, all_hub);
430     		r = amdgpu_fence_emit_polling(ring, &seq, MAX_KIQ_REG_WAIT);
431     		if (r) {
432     			amdgpu_ring_undo(ring);
433     			spin_unlock(&kiq->ring_lock);
vvv     CID 1492715:  Program hangs  (LOCK)
vvv     Returning without unlocking "adev->gfx.kiq.ring_lock".
434     			return -ETIME;
435     		}
436
437     		amdgpu_ring_commit(ring);
438     		spin_unlock(&adev->gfx.kiq.ring_lock);
439     		r = amdgpu_fence_wait_polling(ring, seq, adev->usec_timeout);

If this is a false positive, please let us know so we can mark it as
such, or teach the Coverity rules to be smarter. If not, please make
sure fixes get into linux-next. :) For patches fixing this, please
include these lines (but double-check the "Fixes" first):

Reported-by: coverity-bot <[email-masked]>
Addresses-Coverity-ID: 1492715 ("Program hangs")
Fixes: 82478876eaac ("drm/amdgpu: protect ring overrun")

Thanks for your attention!

-- 
Coverity-bot