diff options
author | Oded Gabbay <oded.gabbay@amd.com> | 2014-11-25 08:16:38 -0500 |
---|---|---|
committer | Oded Gabbay <oded.gabbay@amd.com> | 2014-11-25 08:16:38 -0500 |
commit | 6f9d54fd6e0125b17fb286e1e54e934dd11f60d3 (patch) | |
tree | 5c80a19ff8c19633877fc0db2c11de83f7f15702 /drivers/gpu/drm/amd/amdkfd | |
parent | e048a0b26033b35eb36c20e4d36fb466a2570c27 (diff) |
amdkfd: Fix memory leak of mqds on dqm fini
The mqds array members are not freed when dqm is uninitialized.
Reviewed-by: Ben Goz <Ben.Goz@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdkfd')
-rw-r--r-- | drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 4 |
1 files changed, 4 insertions, 0 deletions
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 904eb38e3b9f..924e90c072e5 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | |||
@@ -575,11 +575,15 @@ static int initialize_nocpsch(struct device_queue_manager *dqm) | |||
575 | 575 | ||
576 | static void uninitialize_nocpsch(struct device_queue_manager *dqm) | 576 | static void uninitialize_nocpsch(struct device_queue_manager *dqm) |
577 | { | 577 | { |
578 | int i; | ||
579 | |||
578 | BUG_ON(!dqm); | 580 | BUG_ON(!dqm); |
579 | 581 | ||
580 | BUG_ON(dqm->queue_count > 0 || dqm->processes_count > 0); | 582 | BUG_ON(dqm->queue_count > 0 || dqm->processes_count > 0); |
581 | 583 | ||
582 | kfree(dqm->allocated_queues); | 584 | kfree(dqm->allocated_queues); |
585 | for (i = 0 ; i < KFD_MQD_TYPE_MAX ; i++) | ||
586 | kfree(dqm->mqds[i]); | ||
583 | mutex_destroy(&dqm->lock); | 587 | mutex_destroy(&dqm->lock); |
584 | kfd2kgd->free_mem(dqm->dev->kgd, | 588 | kfd2kgd->free_mem(dqm->dev->kgd, |
585 | (struct kgd_mem *) dqm->pipeline_mem); | 589 | (struct kgd_mem *) dqm->pipeline_mem); |