Re: [RFC] dmaengine: pl330: fix a race condition in case of threaded irqs

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

 



On Tuesday, January 9, 2018 6:12:09 PM EST Qi Hou wrote:

> If that, there will be a hidden deadlock. As to irq handler of pl330, 
> get pl330->lock first,
> then pch->lock. As to tasklet of PL330, pch->lockfirst, then 
> pl330->lock. It have been
> verified when I enabled the kernel lock debug option.
> 
> And after tracing the changelogs of the driver of the DMA controller 
> PL330, I have to stay back.
> The pair of unlock/lock staffs is there since the original commit.  It 
> seems that the author
> intent to do things like that.
> 
> If it's hard to trace the author's intention, maybe the advised fix 
> below could be taken, since
> there is no side effect.  And it achieves the same goal as the original 
> wants to.

I'd like to see this patch get applied, it seems to have been sitting in the dmaengine patchwork as a RFC for a while now.  We've hit this same problem (by using irq affinity to spread the pl330 interrupts across multiple cpus rather than using threadirqs) and the patch fixed it.

Reviewed-by: Frank Mori Hess <fmh6jj@xxxxxxxxx>
Tested-by: Frank Mori Hess <fmh6jj@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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