When amdgpu_bad_page_threshold = 0, bad page reservation stuffs
are skipped in either UMC ECC irq or page retirement calling of
sync flood isr.
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
        int ret = 0;
 
        /* no bad page record, skip eeprom access */
-       if (!control->num_recs)
+       if (!control->num_recs || (amdgpu_bad_page_threshold == 0))
                return ret;
 
        bps = kcalloc(control->num_recs, sizeof(*bps), GFP_KERNEL);
        struct amdgpu_bo *bo = NULL;
        int i, ret = 0;
 
-       if (!con || !con->eh_data)
+       /* Not reserve bad page when amdgpu_bad_page_threshold == 0. */
+       if (!con || !con->eh_data || (amdgpu_bad_page_threshold == 0))
                return 0;
 
        mutex_lock(&con->recovery_lock);
 
                                "detected in UMC block\n",
                                err_data->ue_count);
 
-               if (err_data->err_addr_cnt &&
-                   amdgpu_ras_add_bad_pages(adev, err_data->err_addr,
+               if ((amdgpu_bad_page_threshold != 0) &&
+                       err_data->err_addr_cnt &&
+                       amdgpu_ras_add_bad_pages(adev, err_data->err_addr,
                                                err_data->err_addr_cnt))
                        dev_warn(adev->dev, "Failed to add ras bad page!\n");