diff mbox

mmc: atmel-mci: fix incorrect setting of host->data to NULL

Message ID 1341568713-8869-1-git-send-email-nicolas.ferre@atmel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Nicolas Ferre July 6, 2012, 9:58 a.m. UTC
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 form dw_mmc by Seungwon Jeon.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Seungwon Jeon <tgih.jun@samsung.com>
---
 drivers/mmc/host/atmel-mci.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Ludovic Desroches July 6, 2012, 10:04 a.m. UTC | #1
Le 07/06/2012 11:58 AM, Nicolas Ferre a écrit :
> 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 form 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>

Thanks

> ---
>   drivers/mmc/host/atmel-mci.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
> index 78e5326..2ce109d 100644
> --- a/drivers/mmc/host/atmel-mci.c
> +++ b/drivers/mmc/host/atmel-mci.c
> @@ -1860,7 +1860,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);
> @@ -1874,6 +1873,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:
>
Chris Ball July 10, 2012, 3:18 a.m. UTC | #2
Hi,

On Fri, Jul 06 2012, ludovic.desroches wrote:
> Le 07/06/2012 11:58 AM, Nicolas Ferre a écrit :
>> 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 form 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>

Thanks, pushed to mmc-next for 3.6.

- Chris.
diff mbox

Patch

diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 78e5326..2ce109d 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -1860,7 +1860,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);
@@ -1874,6 +1873,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: