Re: [PATCH] dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Vinod,

On 24/08/2020 15.01, Peter Ujfalusi wrote:
> The TR which needs to be initialized for the next sg entry is indexed by
> tr_idx and not by the running i counter.
> 
> In case any sub element in the SG needs more than one TR, the code would
> corrupt an already configured TR.

I forgot to add the Fixes tag:
Fixes: 6cf668a4ef829 ("dmaengine: ti: k3-udma: Use the TR counter helper for slave_sg and cyclic")

Can you add it or I can resend with the tag.
 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
> ---
>  drivers/dma/ti/k3-udma.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
> index c14e6cb105cd..30cb514cee54 100644
> --- a/drivers/dma/ti/k3-udma.c
> +++ b/drivers/dma/ti/k3-udma.c
> @@ -2059,9 +2059,9 @@ udma_prep_slave_sg_tr(struct udma_chan *uc, struct scatterlist *sgl,
>  			return NULL;
>  		}
>  
> -		cppi5_tr_init(&tr_req[i].flags, CPPI5_TR_TYPE1, false, false,
> -			      CPPI5_TR_EVENT_SIZE_COMPLETION, 0);
> -		cppi5_tr_csf_set(&tr_req[i].flags, CPPI5_TR_CSF_SUPR_EVT);
> +		cppi5_tr_init(&tr_req[tr_idx].flags, CPPI5_TR_TYPE1, false,
> +			      false, CPPI5_TR_EVENT_SIZE_COMPLETION, 0);
> +		cppi5_tr_csf_set(&tr_req[tr_idx].flags, CPPI5_TR_CSF_SUPR_EVT);
>  
>  		tr_req[tr_idx].addr = sg_addr;
>  		tr_req[tr_idx].icnt0 = tr0_cnt0;
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki





[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux