/* Make sure we get a consistent snapshot */
spin_lock_bh(&slot->host->lock);
- mrq = slot->mrq;
+ mrq = slot->host->mrq;
if (mrq) {
cmd = mrq->cmd;
struct mmc_data *data;
u32 cmdflags;
- mrq = slot->mrq;
+ mrq = host->mrq;
host->mrq = mrq;
static void dw_mci_start_request(struct dw_mci *host,
struct dw_mci_slot *slot)
{
- struct mmc_request *mrq = slot->mrq;
+ struct mmc_request *mrq = host->mrq;
struct mmc_command *cmd;
cmd = mrq->sbc ? mrq->sbc : mrq->cmd;
dev_vdbg(&host->mmc->class_dev, "queue request: state=%d\n",
host->state);
- slot->mrq = mrq;
+ host->mrq = mrq;
if (host->state == STATE_WAITING_CMD11_DONE) {
dev_warn(&host->mmc->class_dev,
struct dw_mci_slot *slot = mmc_priv(mmc);
struct dw_mci *host = slot->host;
- WARN_ON(slot->mrq);
+ WARN_ON(host->mrq);
/*
* The check for card presence and queueing of the request must be
WARN_ON(host->cmd || host->data);
- host->slot->mrq = NULL;
host->mrq = NULL;
if (!list_empty(&host->queue)) {
slot = list_entry(host->queue.next,
* @fifo_reg: Pointer to MMIO registers for data FIFO
* @sg: Scatterlist entry currently being processed by PIO code, if any.
* @sg_miter: PIO mapping scatterlist iterator.
- * @mrq: The request currently being processed on @slot,
+ * @mrq: The request currently being processed on @host,
* or NULL if the controller is idle.
* @cmd: The command currently being sent to the card, or NULL.
* @data: The data currently being transferred, or NULL if no data
/**
* struct dw_mci_slot - MMC slot state
* @host: The MMC controller this slot is using.
- * @mrq: mmc_request currently being processed or waiting to be
* processed, or NULL when the slot is idle.
* @queue_node: List node for placing this node in the @queue list of
* &struct dw_mci.
struct dw_mci_slot {
struct dw_mci *host;
- struct mmc_request *mrq;
struct list_head queue_node;
};