On Tue, Aug 13, 2013 at 01:49:53AM +0200, Tomasz Figa wrote:
I've been testing this without any significant patches, like PWM, CCF or DT support, just everything from the branch I pointed to and some board- specific patches to help in debugging.
Done some more digging. It's not failing the first time it requests the channel, it's failing sometime later on (after we've been running for a while but when we've had a substantial idle period). However it is the first time we're actually intending to use the channel, previously to this the transfers would always be too small to trigger DMA. I'm not sure that's relevant though as we're not getting far enough to actually request the channel.
I'm still debugging what's going on here - the basic refcounting all looks OK in the SPI driver, I can see it requesting and releasing with the refcounts all going back to zero in the DMA driver as expected but when we come back to the device later on dmaengine is deciding the device is unavailable quite early on in the process.