Messages in this thread | | | Date | Sun, 4 Jan 2015 21:58:02 +0200 | From | Oded Gabbay <> | Subject | Re: [PATCH] drm/radeon: do not left queue acquired if timeout happens in kgd_hqd_destroy() |
| |
On 01/04/2015 01:31 AM, Alexey Khoroshilov wrote: > 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: Alexey Khoroshilov <khoroshilov@ispras.ru> > --- > drivers/gpu/drm/radeon/radeon_kfd.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/radeon/radeon_kfd.c b/drivers/gpu/drm/radeon/radeon_kfd.c > index 242fd8b1b221..335e29dbab05 100644 > --- a/drivers/gpu/drm/radeon/radeon_kfd.c > +++ b/drivers/gpu/drm/radeon/radeon_kfd.c > @@ -556,6 +556,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); >
Thanks for catching that! Applied to my fixes tree.
Oded
| |