On Mon, Sep 23, 2019 at 08:59:42PM -0400, James Bottomley wrote: > > if (mask > ~0U) > > » » return 0; > > > > Removing the if() makes the DMA mapping work. It's almost midnight > > here, so i won't look into that any further today. Does anyone have > > an opinion on this behaviour? Otherwise i will look a bit more into > > this in the next days. > > The reason for the if was to kick the device into 32 bit descriptors, > which are usually more efficient, especially with older dual descriptor > format cards like we have on parisc systems. These days we use the dma_get_required_mask API to query for that. Svens patch looks right for how we are now using the DMA mask setting API.