From 8755ec14cd7f60976911726b4be59dc4d01b86d2 Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Fri, 28 Jul 2017 23:51:51 -0400 Subject: [PATCH 1756/4131] drm/amdkfd: Fix minor memory leak if sched_policy is invalid Change-Id: I05932df0780fe7dba8085b9902c90a8022bec2f0 Signed-off-by: Felix Kuehling --- drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 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 b78a773..93bf90b 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -1610,7 +1610,7 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev) break; default: pr_err("Invalid scheduling policy %d\n", dqm->sched_policy); - return NULL; + goto out_free; } switch (dev->device_info->asic_family) { @@ -1641,12 +1641,12 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev) BUG(); } - if (dqm->ops.initialize(dqm) != 0) { - kfree(dqm); - return NULL; - } + if (!dqm->ops.initialize(dqm)) + return dqm; - return dqm; +out_free: + kfree(dqm); + return NULL; } void device_queue_manager_uninit(struct device_queue_manager *dqm) -- 2.7.4