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.bell...@free-electrons.com>
Acked-by: Ludovic Desroches <ludovic.desroc...@atmel.com>

> ---
>  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to