On Thu, 18 Jul 2019 19:21:20 +0200 Halil Pasic wrote: > On s390 ZONE_DMA is up to 2G, i.e. ARCH_ZONE_DMA_BITS should be 31 bits. > The current value is 24 and makes __dma_direct_alloc_pages() take a > wrong turn first (but __dma_direct_alloc_pages() recovers then). > > Let's correct ARCH_ZONE_DMA_BITS value and avoid wrong turns. > > Signed-off-by: Halil Pasic > Reported-by: Petr Tesarik > Fixes: c61e9637340e ("dma-direct: add support for allocation from > ZONE_DMA and ZONE_DMA32") > --- > arch/s390/include/asm/dma.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h > index 6f26f35d4a71..3b0329665b13 100644 > --- a/arch/s390/include/asm/dma.h > +++ b/arch/s390/include/asm/dma.h > @@ -10,6 +10,7 @@ > * by the 31 bit heritage. > */ > #define MAX_DMA_ADDRESS 0x80000000 > +#define ARCH_ZONE_DMA_BITS 31 > > #ifdef CONFIG_PCI > extern int isa_dma_bridge_buggy; Looks good to me. Petr T