On Wed, Jan 21, 2015 at 09:46:47AM +0530, Sumit Semwal wrote: > +static int calc_constraints(struct device *dev, > + struct dma_buf_constraints *calc_cons) > +{ > + struct dma_buf_constraints cons = *calc_cons; > + > + cons.dma_mask &= dma_get_mask(dev); I don't think this makes much sense when you consider that the DMA infrastructure supports buses with offsets. The DMA mask is th upper limit of the _bus_ specific address, it is not a mask per-se. What this means is that &= is not the right operation. Moreover, simply comparing masks which could be from devices on unrelated buses doesn't make sense either. However, that said, I don't have an answer for what you want to achieve here. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>