mmc: atmel-mci: fix incorrect setting of host->data to NULL
Setting host->data to NULL is incorrect sequence in STATE_SENDING_STOP state of FSM: This early setting leads to the skip of dma_unmap_sg() in atmci_dma_cleanup() which is a bug. Idea taken from dw_mmc by Seungwon Jeon. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Seungwon Jeon <tgih.jun@samsung.com> Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
eb6d5ae1c9
commit
41b4e9a194
|
@ -1685,7 +1685,6 @@ static void atmci_tasklet_func(unsigned long priv)
|
|||
|
||||
dev_dbg(&host->pdev->dev, "FSM: cmd ready\n");
|
||||
host->cmd = NULL;
|
||||
host->data = NULL;
|
||||
data->bytes_xfered = data->blocks * data->blksz;
|
||||
data->error = 0;
|
||||
atmci_command_complete(host, mrq->stop);
|
||||
|
@ -1699,6 +1698,7 @@ static void atmci_tasklet_func(unsigned long priv)
|
|||
atmci_writel(host, ATMCI_IER, ATMCI_NOTBUSY);
|
||||
state = STATE_WAITING_NOTBUSY;
|
||||
}
|
||||
host->data = NULL;
|
||||
break;
|
||||
|
||||
case STATE_END_REQUEST:
|
||||
|
|
Loading…
Reference in a new issue