Преглед изворни кода

drm/amdkfd: Handle case of invalid queue type

This patch handles a case where amdkfd tries to destroy a queue but the queue
type is invalid.
This case occurs in non-HWS path.

Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Oded Gabbay пре 10 година
родитељ
комит
7113cd6529
1 измењених фајлова са 5 додато и 0 уклоњено
  1. 5 0
      drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

+ 5 - 0
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

@@ -301,6 +301,11 @@ static int destroy_queue_nocpsch(struct device_queue_manager *dqm,
 		}
 		}
 		dqm->sdma_queue_count--;
 		dqm->sdma_queue_count--;
 		deallocate_sdma_queue(dqm, q->sdma_id);
 		deallocate_sdma_queue(dqm, q->sdma_id);
+	} else {
+		pr_debug("q->properties.type is invalid (%d)\n",
+				q->properties.type);
+		retval = -EINVAL;
+		goto out;
 	}
 	}
 
 
 	retval = mqd->destroy_mqd(mqd, q->mqd,
 	retval = mqd->destroy_mqd(mqd, q->mqd,