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

From: Scott Wood <[email-masked]>
Date: Wed, 24 Jul 2013 14:33:31 -0500

On 07/24/2013 01:21:09 AM, [email-masked] wrote:
> From: Hongbo Zhang <[email-masked]>
>=20
> The variable cookie is initialized in a list_for_each_entry loop, =20
> if(unlikely)
> the list is empty, this variable will be used uninitialized, so we =20
> get a gcc
> compiling warning about this. This patch fixes this defect by setting =20
> an
> initial value to the varialble cookie.
>=20
> Signed-off-by: Hongbo Zhang <[email-masked]>
> ---
>  drivers/dma/fsldma.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> 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 =20
> dma_async_tx_descriptor *tx)
>  	struct fsl_desc_sw *desc =3D tx_to_fsl_desc(tx);
>  	struct fsl_desc_sw *child;
>  	unsigned long flags;
> -	dma_cookie_t cookie;
> +	dma_cookie_t cookie =3D 0;
>=20
>  	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 =20
in the list?  Returning the last cookie seems a bit odd.

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

-Scott=