Re: [PATCH] mmc: atmel: don't test host->data

From: Ludovic Desroches
Date: Wed May 07 2014 - 10:43:01 EST


On Tue, May 06, 2014 at 05:43:26PM +0200, Alexandre Belloni wrote:
> Found using smatch:
> drivers/mmc/host/atmel-mci.c:827 atmci_pdc_complete() warn: variable
> dereferenced before check 'host->data' (see line 807)
>
> Stop testing host->data as it is not NULL at that point.

I agree

>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>

> ---
> drivers/mmc/host/atmel-mci.c | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
> index 42706ea0ba85..aece7cafbb97 100644
> --- a/drivers/mmc/host/atmel-mci.c
> +++ b/drivers/mmc/host/atmel-mci.c
> @@ -820,16 +820,9 @@ static void atmci_pdc_complete(struct atmel_mci *host)
>
> atmci_pdc_cleanup(host);
>
> - /*
> - * If the card was removed, data will be NULL. No point trying
> - * to send the stop command or waiting for NBUSY in this case.
> - */
> - if (host->data) {
> - dev_dbg(&host->pdev->dev,
> - "(%s) set pending xfer complete\n", __func__);
> - atmci_set_pending(host, EVENT_XFER_COMPLETE);
> - tasklet_schedule(&host->tasklet);
> - }
> + dev_dbg(&host->pdev->dev, "(%s) set pending xfer complete\n", __func__);
> + atmci_set_pending(host, EVENT_XFER_COMPLETE);
> + tasklet_schedule(&host->tasklet);
> }
>
> static void atmci_dma_cleanup(struct atmel_mci *host)
> --
> 1.9.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/