int nvme_init_identify(struct nvme_ctrl *ctrl)
 {
        struct nvme_id_ctrl *id;
-       u64 cap;
        int ret, page_shift;
        u32 max_hw_sectors;
        bool prev_apst_enabled;
                return ret;
        }
 
-       ret = ctrl->ops->reg_read64(ctrl, NVME_REG_CAP, &cap);
+       ret = ctrl->ops->reg_read64(ctrl, NVME_REG_CAP, &ctrl->cap);
        if (ret) {
                dev_err(ctrl->device, "Reading CAP failed (%d)\n", ret);
                return ret;
        }
-       page_shift = NVME_CAP_MPSMIN(cap) + 12;
+       page_shift = NVME_CAP_MPSMIN(ctrl->cap) + 12;
 
        if (ctrl->vs >= NVME_VS(1, 1, 0))
-               ctrl->subsystem = NVME_CAP_NSSRC(cap);
+               ctrl->subsystem = NVME_CAP_NSSRC(ctrl->cap);
 
        ret = nvme_identify_ctrl(ctrl, &id);
        if (ret) {