On Wed, May 08, 2019 at 03:46:42PM +0200, Sebastian Ott wrote: > > + io_priv->dma_area = dma_alloc_coherent(&sch->dev, > > + sizeof(*io_priv->dma_area), > > + &io_priv->dma_area_dma, GFP_KERNEL); > > This needs GFP_DMA. > You use a genpool for ccw_private->dma and not for iopriv->dma - looks > kinda inconsistent. dma_alloc_* never needs GFP_DMA. It selects the zone to allocate from based on the dma_coherent_mask of the device.