drm/amdgpu: call release_firmware() without a NULL check
authorNirmoy Das <nirmoy.das@amd.com>
Thu, 25 Jun 2020 13:35:07 +0000 (15:35 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2020 05:59:27 +0000 (01:59 -0400)
The release_firmware() function is NULL tolerant so we do not need
to check for NULL param before calling it.

Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 2858c09fd8c0f2d052ed5500a49b18bcb9101a9c..a649e40fd96f7333afd1443a0f9e30e8abb0b472 100644 (file)
@@ -3380,10 +3380,8 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
                amdgpu_pm_sysfs_fini(adev);
        amdgpu_fbdev_fini(adev);
        r = amdgpu_device_ip_fini(adev);
-       if (adev->firmware.gpu_info_fw) {
-               release_firmware(adev->firmware.gpu_info_fw);
-               adev->firmware.gpu_info_fw = NULL;
-       }
+       release_firmware(adev->firmware.gpu_info_fw);
+       adev->firmware.gpu_info_fw = NULL;
        adev->accel_working = false;
        /* free i2c buses */
        if (!amdgpu_device_has_dc_support(adev))
index 0723dee2958b5d637d338ee47ffe155f6272ed49..9342a9e8cadfa289575387fb8d31538399f69fad 100644 (file)
@@ -196,10 +196,8 @@ static int psp_sw_fini(void *handle)
        adev->psp.sos_fw = NULL;
        release_firmware(adev->psp.asd_fw);
        adev->psp.asd_fw = NULL;
-       if (adev->psp.ta_fw) {
-               release_firmware(adev->psp.ta_fw);
-               adev->psp.ta_fw = NULL;
-       }
+       release_firmware(adev->psp.ta_fw);
+       adev->psp.ta_fw = NULL;
 
        if (adev->asic_type == CHIP_NAVI10)
                psp_sysfs_fini(adev);
index aaa90a181cad929ad8492c4ce8f9b48d161284ce..856c50386c86f821607ff66d29eade833055c5eb 100644 (file)
@@ -559,8 +559,8 @@ static void sdma_v4_0_destroy_inst_ctx(struct amdgpu_device *adev)
        int i;
 
        for (i = 0; i < adev->sdma.num_instances; i++) {
-               if (adev->sdma.instance[i].fw != NULL)
-                       release_firmware(adev->sdma.instance[i].fw);
+               release_firmware(adev->sdma.instance[i].fw);
+               adev->sdma.instance[i].fw = NULL;
 
                /* arcturus shares the same FW memory across
                   all SDMA isntances */
index 6751ad69ed9053ad032c881da234e6bffe7a81f7..1baeddf2f1e6725c7be35cbc17cc9ccb0795423a 100644 (file)
@@ -1300,8 +1300,8 @@ static int sdma_v5_0_sw_fini(void *handle)
        int i;
 
        for (i = 0; i < adev->sdma.num_instances; i++) {
-               if (adev->sdma.instance[i].fw != NULL)
-                       release_firmware(adev->sdma.instance[i].fw);
+               release_firmware(adev->sdma.instance[i].fw);
+               adev->sdma.instance[i].fw = NULL;
 
                amdgpu_ring_fini(&adev->sdma.instance[i].ring);
        }
index 95751e7bdfe813fddf21a7c21e6d7267111a3bac..318d32e2bbf6e40dd5a13b6726afbb0643210d54 100644 (file)
@@ -115,8 +115,8 @@ static void sdma_v5_2_destroy_inst_ctx(struct amdgpu_device *adev)
        int i;
 
        for (i = 0; i < adev->sdma.num_instances; i++) {
-               if (adev->sdma.instance[i].fw != NULL)
-                       release_firmware(adev->sdma.instance[i].fw);
+               release_firmware(adev->sdma.instance[i].fw);
+               adev->sdma.instance[i].fw = NULL;
 
                if (adev->asic_type == CHIP_SIENNA_CICHLID)
                        break;
index 06a5e8cb3d006654c3c403c867c32087d78d8ea1..365c675aa1596bd83ccb7fb2b0d6194caa9628da 100644 (file)
@@ -1318,15 +1318,11 @@ static int dm_sw_fini(void *handle)
                adev->dm.dmub_srv = NULL;
        }
 
-       if (adev->dm.dmub_fw) {
-               release_firmware(adev->dm.dmub_fw);
-               adev->dm.dmub_fw = NULL;
-       }
+       release_firmware(adev->dm.dmub_fw);
+       adev->dm.dmub_fw = NULL;
 
-       if(adev->dm.fw_dmcu) {
-               release_firmware(adev->dm.fw_dmcu);
-               adev->dm.fw_dmcu = NULL;
-       }
+       release_firmware(adev->dm.fw_dmcu);
+       adev->dm.fw_dmcu = NULL;
 
        return 0;
 }