if (use_arg && !mmc_host_is_spi(mmc)) {
                cmd->cmdarg =
                        (mmc->cfg->voltages &
-                       (mmc->op_cond_response & OCR_VOLTAGE_MASK)) |
-                       (mmc->op_cond_response & OCR_ACCESS_MODE);
+                       (mmc->ocr & OCR_VOLTAGE_MASK)) |
+                       (mmc->ocr & OCR_ACCESS_MODE);
 
                if (mmc->cfg->host_caps & MMC_MODE_HC)
                        cmd->cmdarg |= OCR_HCS;
        err = mmc_send_cmd(mmc, cmd, NULL);
        if (err)
                return err;
-       mmc->op_cond_response = cmd->response[0];
+       mmc->ocr = cmd->response[0];
        return 0;
 }
 
                        return err;
 
                /* exit if not busy (flag seems to be inverted) */
-               if (mmc->op_cond_response & OCR_BUSY)
+               if (mmc->ocr & OCR_BUSY)
                        return 0;
        }
        return IN_PROGRESS;
                if (get_timer(start) > timeout)
                        return UNUSABLE_ERR;
                udelay(100);
-       } while (!(mmc->op_cond_response & OCR_BUSY));
+       } while (!(mmc->ocr & OCR_BUSY));
 
        if (mmc_host_is_spi(mmc)) { /* read OCR for spi */
                cmd.cmdidx = MMC_CMD_SPI_READ_OCR;
 
                if (err)
                        return err;
+
+               mmc->ocr = cmd.response[0];
        }
 
        mmc->version = MMC_VERSION_UNKNOWN;
-       mmc->ocr = cmd.response[0];
 
        mmc->high_capacity = ((mmc->ocr & OCR_HCS) == OCR_HCS);
        mmc->rca = 1;
 
        char op_cond_pending;   /* 1 if we are waiting on an op_cond command */
        char init_in_progress;  /* 1 if we have done mmc_start_init() */
        char preinit;           /* start init as early as possible */
-       uint op_cond_response;  /* the response byte from the last op_cond */
        int ddr_mode;
 };