}
 }
 
-static int ghes_read_estatus(struct ghes *ghes, int silent)
+static int ghes_read_estatus(struct ghes *ghes)
 {
        struct acpi_hest_generic *g = ghes->generic;
        u64 buf_paddr;
 
        rc = apei_read(&buf_paddr, &g->error_status_address);
        if (rc) {
-               if (!silent && printk_ratelimit())
-                       pr_warning(FW_WARN GHES_PFX
+               pr_warn_ratelimited(FW_WARN GHES_PFX
 "Failed to read error status block address for hardware error source: %d.\n",
                                   g->header.source_id);
                return -EIO;
        rc = 0;
 
 err_read_block:
-       if (rc && !silent && printk_ratelimit())
-               pr_warning(FW_WARN GHES_PFX
-                          "Failed to read error status block!\n");
+       if (rc)
+               pr_warn_ratelimited(FW_WARN GHES_PFX
+                                   "Failed to read error status block!\n");
        return rc;
 }
 
 {
        int rc;
 
-       rc = ghes_read_estatus(ghes, 0);
+       rc = ghes_read_estatus(ghes);
        if (rc)
                goto out;
 
                return ret;
 
        list_for_each_entry_rcu(ghes, &ghes_nmi, list) {
-               if (ghes_read_estatus(ghes, 1)) {
+               if (ghes_read_estatus(ghes)) {
                        ghes_clear_estatus(ghes);
                        continue;
                } else {