[PATCH] drm/amdgpu/kfd: Add unlock() on error path to add_queue_mes()

Dan Carpenter posted 1 patch 1 year, 5 months ago
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] drm/amdgpu/kfd: Add unlock() on error path to add_queue_mes()
Posted by Dan Carpenter 1 year, 5 months ago
We recently added locking to add_queue_mes() but this error path was
overlooked.  Add an unlock to the error path.

Fixes: 1802b042a343 ("drm/amdgpu/kfd: remove is_hws_hang and is_resetting")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 1 +
 1 file changed, 1 insertion(+)

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 d2fceb6f9802..4f48507418d2 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -230,6 +230,7 @@ static int add_queue_mes(struct device_queue_manager *dqm, struct queue *q,
 	if (queue_type < 0) {
 		dev_err(adev->dev, "Queue type not supported with MES, queue:%d\n",
 			q->properties.type);
+		up_read(&adev->reset_domain->sem);
 		return -EINVAL;
 	}
 	queue_input.queue_type = (uint32_t)queue_type;
-- 
2.43.0
Re: [PATCH] drm/amdgpu/kfd: Add unlock() on error path to add_queue_mes()
Posted by Alex Deucher 1 year, 5 months ago
Applied.  Thanks!

Alex

On Thu, Jun 20, 2024 at 5:07 AM Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> We recently added locking to add_queue_mes() but this error path was
> overlooked.  Add an unlock to the error path.
>
> Fixes: 1802b042a343 ("drm/amdgpu/kfd: remove is_hws_hang and is_resetting")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 1 +
>  1 file changed, 1 insertion(+)
>
> 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 d2fceb6f9802..4f48507418d2 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> @@ -230,6 +230,7 @@ static int add_queue_mes(struct device_queue_manager *dqm, struct queue *q,
>         if (queue_type < 0) {
>                 dev_err(adev->dev, "Queue type not supported with MES, queue:%d\n",
>                         q->properties.type);
> +               up_read(&adev->reset_domain->sem);
>                 return -EINVAL;
>         }
>         queue_input.queue_type = (uint32_t)queue_type;
> --
> 2.43.0
>