drm/amdgpu: Avoid to release the FW twice in the validated error

There will to release the FW twice when the FW validated error.
Even if the release_firmware() will further validate the FW whether
is empty, but that will be redundant and inefficient.

Signed-off-by: Prike Liang <Prike.Liang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Prike Liang
2024-12-02 14:13:02 +08:00
committed by Alex Deucher
parent a567db808e
commit d2382f29ce

View File

@@ -1461,11 +1461,13 @@ int amdgpu_ucode_request(struct amdgpu_device *adev, const struct firmware **fw,
return -ENODEV;
r = amdgpu_ucode_validate(*fw);
if (r) {
if (r)
/*
* The amdgpu_ucode_request() should be paired with amdgpu_ucode_release()
* regardless of success/failure, and the amdgpu_ucode_release() takes care of
* firmware release and need to avoid redundant release FW operation here.
*/
dev_dbg(adev->dev, "\"%s\" failed to validate\n", fname);
release_firmware(*fw);
*fw = NULL;
}
return r;
}