On Wed, Jun 17, 2015 at 01:05:27PM +0800, Herbert Xu wrote: > On Tue, Jun 16, 2015 at 11:58:59AM +0200, Boris Brezillon wrote: > > > > + ret = dma_map_sg(cesa_dev->dev, req->src, creq->src_nents, > > + DMA_TO_DEVICE); > > + if (ret != creq->src_nents) > > + return -ENOMEM; > > Hmm it doesn't quite work like that. It returns zero on error, > otherwise it returns the number (n) of mapped entries which may be > less than what you gave it due to merging. You're then supposed > to use only the first n entries which should contain everything. Please take a look at Documentation/DMA-API-HOWTO.txt, it has everything you need to know about the dma_map_sg interface. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html