答复: [PATCH] gpu: drm: fix an improper check of amdgpu_bo_create_kernel
diff mbox series

Message ID BYAPR12MB279124DEA06FE8EA43E164BC99B60@BYAPR12MB2791.namprd12.prod.outlook.com
State New, archived
Headers show
Series
  • 答复: [PATCH] gpu: drm: fix an improper check of amdgpu_bo_create_kernel
Related show

Commit Message

Qu, Jim Dec. 27, 2018, 9:26 a.m. UTC
Comments in line.

Thanks
JimQu

Patch
diff mbox series

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
index 7b33867036e7..ba3c1cfb2c35 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
@@ -422,13 +422,19 @@  static int amdgpu_ucode_patch_jt(struct amdgpu_firmware_info *ucode,

 int amdgpu_ucode_create_bo(struct amdgpu_device *adev)
 {
+       int ret;
+
        if (adev->firmware.load_type != AMDGPU_FW_LOAD_DIRECT) {
-               amdgpu_bo_create_kernel(adev, adev->firmware.fw_size, PAGE_SIZE,
-                       amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM : AMDGPU_GEM_DOMAIN_GTT,
-                       &adev->firmware.fw_buf,
-                       &adev->firmware.fw_buf_mc,
-                       &adev->firmware.fw_buf_ptr);
-               if (!adev->firmware.fw_buf) {
+               ret =
+                       amdgpu_bo_create_kernel(adev,
+                         adev->firmware.fw_size,
+                         PAGE_SIZE,
+                         amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM :
+                               AMDGPU_GEM_DOMAIN_GTT,
+                         &adev->firmware.fw_buf,
+                         &adev->firmware.fw_buf_mc,
+                               &adev->firmware.fw_buf_ptr);
+               if (ret) {

JimQu: Look into amdgpu_bo_create_kernel(), new bo will be created only if *bo_ptr = NULL, So if you encounter the issue the adev->firmware.fw_buf != NULL but new bo is not created, the only problem I can see are: