The `amdgpu_ucode_request` helper will ensure that the return code for
missing firmware is -ENODEV so that early_init can fail.

The `amdgpu_ucode_release` helper is for symmetry on unloading.

Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Mario Limonciello <mario.limoncie...@amd.com>
---
v5->v6:
 * Adjust for amdgpu_ucode_release argument change
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
index f1a050379190..456e385333b6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
@@ -411,17 +411,10 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device 
*cgs_device,
                                return -EINVAL;
                        }
 
-                       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);
+                       err = amdgpu_ucode_request(adev, &adev->pm.fw, fw_name);
                        if (err) {
                                DRM_ERROR("Failed to load firmware \"%s\"", 
fw_name);
-                               release_firmware(adev->pm.fw);
-                               adev->pm.fw = NULL;
+                               amdgpu_ucode_release(&adev->pm.fw);
                                return err;
                        }
 
-- 
2.34.1

Reply via email to