i915_probe_error(gt->i915, "Failed to load %s firmware %s (%d)\n",
                         intel_uc_fw_type_repr(uc_fw->type), uc_fw->path,
                         err);
-       intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_FAIL);
+       intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_LOAD_FAIL);
        return err;
 }
 
        if (err) {
                DRM_DEBUG_DRIVER("%s fw pin-pages err=%d\n",
                                 intel_uc_fw_type_repr(uc_fw->type), err);
-               intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_FAIL);
+               intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_INIT_FAIL);
        }
 
        return err;
 
  * |            |    MISSING <--/    |    \--> ERROR                |
  * |   fetch    |                    V                              |
  * |            |                 AVAILABLE                         |
- * +------------+-                   |                             -+
+ * +------------+-                   |   \                         -+
+ * |            |                    |    \--> INIT FAIL            |
  * |   init     |                    V                              |
  * |            |        /------> LOADABLE <----<-----------\       |
  * +------------+-       \         /    \        \           \     -+
- * |            |         FAIL <--<      \--> TRANSFERRED     \     |
+ * |            |    LOAD FAIL <--<      \--> TRANSFERRED     \     |
  * |   upload   |                  \           /   \          /     |
  * |            |                   \---------/     \--> RUNNING    |
  * +------------+---------------------------------------------------+
        INTEL_UC_FIRMWARE_MISSING, /* blob not found on the system */
        INTEL_UC_FIRMWARE_ERROR, /* invalid format or version */
        INTEL_UC_FIRMWARE_AVAILABLE, /* blob found and copied in mem */
+       INTEL_UC_FIRMWARE_INIT_FAIL, /* failed to prepare fw objects for load */
        INTEL_UC_FIRMWARE_LOADABLE, /* all fw-required objects are ready */
-       INTEL_UC_FIRMWARE_FAIL, /* failed to xfer or init/auth the fw */
+       INTEL_UC_FIRMWARE_LOAD_FAIL, /* failed to xfer or init/auth the fw */
        INTEL_UC_FIRMWARE_TRANSFERRED, /* dma xfer done */
        INTEL_UC_FIRMWARE_RUNNING /* init/auth done */
 };
                return "ERROR";
        case INTEL_UC_FIRMWARE_AVAILABLE:
                return "AVAILABLE";
+       case INTEL_UC_FIRMWARE_INIT_FAIL:
+               return "INIT FAIL";
        case INTEL_UC_FIRMWARE_LOADABLE:
                return "LOADABLE";
-       case INTEL_UC_FIRMWARE_FAIL:
-               return "FAIL";
+       case INTEL_UC_FIRMWARE_LOAD_FAIL:
+               return "LOAD FAIL";
        case INTEL_UC_FIRMWARE_TRANSFERRED:
                return "TRANSFERRED";
        case INTEL_UC_FIRMWARE_RUNNING:
                return -ENOENT;
        case INTEL_UC_FIRMWARE_ERROR:
                return -ENOEXEC;
-       case INTEL_UC_FIRMWARE_FAIL:
+       case INTEL_UC_FIRMWARE_INIT_FAIL:
+       case INTEL_UC_FIRMWARE_LOAD_FAIL:
                return -EIO;
        case INTEL_UC_FIRMWARE_SELECTED:
                return -ESTALE;