Re: [PATCH 5/5] dma-mapping: consolidate dma_set_mask

Russell King - ARM Linux
2015-08-13T15:25:05Z

On Thu, Aug 13, 2015 at 05:04:08PM +0200, Christoph Hellwig wrote:
> diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c
> index 1143c4d..260f52a 100644
> --- a/arch/arm/common/dmabounce.c
> +++ b/arch/arm/common/dmabounce.c
> @@ -440,14 +440,6 @@ static void dmabounce_sync_for_device(struct device *dev,
> arm_dma_ops.sync_single_for_device(dev, handle, size, dir);
> }
>
> -static int dmabounce_set_mask(struct device *dev, u64 dma_mask)
> -{
> - if (dev->archdata.dmabounce)
> - return 0;
> -
> - return arm_dma_ops.set_dma_mask(dev, dma_mask);

Are you sure about this? A user of dmabounce gets to request any mask
with the original code (even though it was never written back... which
is a separate bug.) After this, it seems that this will get limited
by the dma_supported() check. As this old code is about bouncing any
buffer into DMA-able memory, it doesn't care about the DMA mask.

--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.