On Mon, 16 May 2022 18:06:31 +0200 Lorenzo Bianconi wrote: > eth->scratch_ring = dma_alloc_coherent(eth->dma_dev, > - cnt * sizeof(struct mtk_tx_dma), > + cnt * soc->txrx.txd_size, > ð->phy_scratch_ring, > GFP_ATOMIC); > if (unlikely(!eth->scratch_ring)) > return -ENOMEM; > > - eth->scratch_head = kcalloc(cnt, MTK_QDMA_PAGE_SIZE, > - GFP_KERNEL); > + eth->scratch_head = kcalloc(cnt, MTK_QDMA_PAGE_SIZE, GFP_KERNEL); Unrelated, but GFP_ATOMIC right next to GFP_KERNEL caught my attention.