aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/files/0970-drm-amdgpu-fix-memory-leak-in-CGS-FW-info.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/files/0970-drm-amdgpu-fix-memory-leak-in-CGS-FW-info.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/files/0970-drm-amdgpu-fix-memory-leak-in-CGS-FW-info.patch100
1 files changed, 0 insertions, 100 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/files/0970-drm-amdgpu-fix-memory-leak-in-CGS-FW-info.patch b/meta-amdfalconx86/recipes-kernel/linux/files/0970-drm-amdgpu-fix-memory-leak-in-CGS-FW-info.patch
deleted file mode 100644
index 39621012..00000000
--- a/meta-amdfalconx86/recipes-kernel/linux/files/0970-drm-amdgpu-fix-memory-leak-in-CGS-FW-info.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 7de9db94df0fbd976cc2e69efde4bef2506802d4 Mon Sep 17 00:00:00 2001
-From: Mykola Lysenko <Mykola.Lysenko@amd.com>
-Date: Wed, 30 Mar 2016 05:50:11 -0400
-Subject: [PATCH 0970/1110] drm/amdgpu: fix memory leak in CGS (FW info)
-
-Previously requested FW pointer should not be
-overwrite
-
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 70 +++++++++++++++++----------------
- 1 file changed, 36 insertions(+), 34 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-index 837cdd2..490464e 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-@@ -735,42 +735,44 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
- const uint8_t *src;
- const struct smc_firmware_header_v1_0 *hdr;
-
-- switch (adev->asic_type) {
-- case CHIP_TONGA:
-- strcpy(fw_name, "amdgpu/tonga_smc.bin");
-- break;
-- case CHIP_FIJI:
-- strcpy(fw_name, "amdgpu/fiji_smc.bin");
-- break;
-- case CHIP_POLARIS11:
-- if (type == CGS_UCODE_ID_SMU)
-- strcpy(fw_name, "amdgpu/polaris11_smc.bin");
-- else if (type == CGS_UCODE_ID_SMU_SK)
-- strcpy(fw_name, "amdgpu/polaris11_smc_sk.bin");
-- break;
-- case CHIP_POLARIS10:
-- if (type == CGS_UCODE_ID_SMU)
-- strcpy(fw_name, "amdgpu/polaris10_smc.bin");
-- else if (type == CGS_UCODE_ID_SMU_SK)
-- strcpy(fw_name, "amdgpu/polaris10_smc_sk.bin");
-- break;
-- default:
-- DRM_ERROR("SMC firmware not supported\n");
-- return -EINVAL;
-- }
-+ if (!adev->pm.fw) {
-+ switch (adev->asic_type) {
-+ case CHIP_TONGA:
-+ strcpy(fw_name, "amdgpu/tonga_smc.bin");
-+ break;
-+ case CHIP_FIJI:
-+ strcpy(fw_name, "amdgpu/fiji_smc.bin");
-+ break;
-+ case CHIP_POLARIS11:
-+ if (type == CGS_UCODE_ID_SMU)
-+ strcpy(fw_name, "amdgpu/polaris11_smc.bin");
-+ else if (type == CGS_UCODE_ID_SMU_SK)
-+ strcpy(fw_name, "amdgpu/polaris11_smc_sk.bin");
-+ break;
-+ case CHIP_POLARIS10:
-+ if (type == CGS_UCODE_ID_SMU)
-+ strcpy(fw_name, "amdgpu/polaris10_smc.bin");
-+ else if (type == CGS_UCODE_ID_SMU_SK)
-+ strcpy(fw_name, "amdgpu/polaris10_smc_sk.bin");
-+ break;
-+ default:
-+ DRM_ERROR("SMC firmware not supported\n");
-+ return -EINVAL;
-+ }
-
-- err = request_firmware(&adev->pm.fw, fw_name, adev->dev);
-- if (err) {
-- DRM_ERROR("Failed to request firmware\n");
-- return err;
-- }
-+ err = request_firmware(&adev->pm.fw, fw_name, adev->dev);
-+ if (err) {
-+ DRM_ERROR("Failed to request firmware\n");
-+ return err;
-+ }
-
-- err = amdgpu_ucode_validate(adev->pm.fw);
-- if (err) {
-- DRM_ERROR("Failed to load firmware \"%s\"", fw_name);
-- release_firmware(adev->pm.fw);
-- adev->pm.fw = NULL;
-- return err;
-+ err = amdgpu_ucode_validate(adev->pm.fw);
-+ if (err) {
-+ DRM_ERROR("Failed to load firmware \"%s\"", fw_name);
-+ release_firmware(adev->pm.fw);
-+ adev->pm.fw = NULL;
-+ return err;
-+ }
- }
-
- hdr = (const struct smc_firmware_header_v1_0 *) adev->pm.fw->data;
---
-2.7.4
-