Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c18442e authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Oded Gabbay
Browse files

drm/radeon: do not leave queue acquired if timeout happens in kgd_hqd_destroy()



If timeout happens, kgd_hqd_destroy() just returns -ETIME leaving queue
acquired.
It may cause a deadlock, so the patch proposes to release queue before return.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
parent 030e416b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -568,6 +568,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd, uint32_t reset_type,
		if (timeout == 0) {
			pr_err("kfd: cp queue preemption time out (%dms)\n",
				temp);
			release_queue(kgd);
			return -ETIME;
		}
		msleep(20);