On Saturday 14 February 2015 23:47:33 Robert Jarzmik wrote: > @@ -294,7 +294,8 @@ int pxa_request_dma (char *name, pxa_dma_prio prio, > /* try grabbing a DMA channel with the requested priority */ > for (i = 0; i < num_dma_channels; i++) { > if ((dma_channels[i].prio == prio) && > - !dma_channels[i].name) { > + !dma_channels[i].name && > + !mmp_pdma_toggle_reserved_channel(i)) { > found = 1; > break; > } > How is the order between the two enforced? I.e. can it be that the dmaengine driver uses the same channel for a different slave before we get here? If this is ensured to work, I'm fine with your approach. Arnd -- 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