On Tue, Aug 13, 2013 at 10:20:19PM +0200, Tomasz Figa wrote:
On Tuesday 13 of August 2013 21:18:16 Mark Brown wrote:
if (dev->chancnt > 1 && !dma_has_cap(DMA_PRIVATE, dev->cap_mask)) list_for_each_entry(chan, &dev->channels, device_node) { /* some channels are already publicly allocated */ if (chan->client_count) {
which is happening because dma1chan0 (which is on the same DMA controller as the SPI controller) and in fact every other DMA channel had references grabbed by the network stack dmaengine helpers which I'd enabled in config. The fact that they do that is unhelpful, it renders the API mostly useless, but is nothing to do with this series.
I believe you just found another brokenness of current DMA channel matching.
Yeah, at first glance the reference grabbing thing seems a bit peculiar. I didn't research why it's done that way yet.