Hi Mark, > On Wed, Apr 10, 2019 at 02:51:36PM +0200, Flavio Suligoi wrote: > > With dw_dmac, sometimes the request of a DMA channel fails because > > the DMA driver is not ready, so an explicit dependency request > > is necessary. > > While this isn't going to hurt anything and might actually help so it's > fine doesn't this also suggest that there's an issue with deferred probe > going on as well? I think that the problem could be related to how the DMA channel is requested. At the moment the function used are: pxa2xx_spi_dma_setup --> dma_request_slave_channel_compat --> --> __dma_request_slave_channel_compat --> dma_request_slave_channel --> --> dma_request_chan Actually the final function "dma_request_chan" return the channel number or "-EPROBE_DEFER" if it's not ready. But this information ("-EPROBE_DEFER") is lost in the penultimate function "dma_request_slave_channel", which return only the chann, if all is ok, or NULL, in case of errors. So the deferral mechanism is not used. Flavio