lkml.org 
[lkml]   [2019]   [Dec]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v1 3/7] dmaengine: tegra-apb: Prevent race conditions on channel's freeing
On Mon, Dec 30, 2019 at 09:45:55PM +0100, Michał Mirosław wrote:
> On Sat, Dec 28, 2019 at 11:46:36PM +0300, Dmitry Osipenko wrote:
> > It's unsafe to check the channel's "busy" state without taking a lock,
> > it is also unsafe to assume that tasklet isn't in-fly.
>
> 'in-flight'. Also, the patch seems to have two independent bug-fixes
> in it. Second one doesn't look right, at least not without an explanation.
>
> First:
>
> > - if (tdc->busy)
> > - tegra_dma_terminate_all(dc);
> > + tegra_dma_terminate_all(dc);
>
> Second:
>
> > + tasklet_kill(&tdc->tasklet);

BTW, maybe you can convert the code to threaded interrupt handler and
just get rid of the tasklet instead of fixing it?

Best Regards,
Michał Mirosław

\
 
 \ /
  Last update: 2019-12-30 21:52    [W:0.135 / U:1.408 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site