[PATCH v5 4/4] DMA: Freescale: eliminate a compiling warning

Scott Wood scottwood at freescale.com
Thu Jul 25 05:33:31 EST 2013


On 07/24/2013 01:21:09 AM, hongbo.zhang at freescale.com wrote:
> From: Hongbo Zhang <hongbo.zhang at freescale.com>
> 
> The variable cookie is initialized in a list_for_each_entry loop,  
> if(unlikely)
> the list is empty, this variable will be used uninitialized, so we  
> get a gcc
> compiling warning about this. This patch fixes this defect by setting  
> an
> initial value to the varialble cookie.
> 
> Signed-off-by: Hongbo Zhang <hongbo.zhang at freescale.com>
> ---
>  drivers/dma/fsldma.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
> index 16a9a48..14d68a4 100644
> --- a/drivers/dma/fsldma.c
> +++ b/drivers/dma/fsldma.c
> @@ -406,7 +406,7 @@ static dma_cookie_t fsl_dma_tx_submit(struct  
> dma_async_tx_descriptor *tx)
>  	struct fsl_desc_sw *desc = tx_to_fsl_desc(tx);
>  	struct fsl_desc_sw *child;
>  	unsigned long flags;
> -	dma_cookie_t cookie;
> +	dma_cookie_t cookie = 0;
> 
>  	spin_lock_irqsave(&chan->desc_lock, flags);

This patch is unrelated to the rest of the patch series...

What are the semantics of this function if there are multiple entries  
in the list?  Returning the last cookie seems a bit odd.

Is zero the proper error value?  include/linux/dmaengine.h suggests  
that cookies should be < 0 to indicate error.

-Scott


More information about the Linuxppc-dev mailing list