From: Russell King Date: Thu, 27 Jun 2013 13:03:13 +0000 (+0100) Subject: DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent() X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b469357f4ba28bd8d659106143fb1f6b3c64d5df;p=sagit-ice-cold%2Fkernel_xiaomi_msm8998.git DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent() The code sequence: pldat->pdev->dev.coherent_dma_mask = 0xFFFFFFFF; pldat->pdev->dev.dma_mask = &pldat->pdev->dev.coherent_dma_mask; bypasses the architectures check on the DMA mask. It can be replaced with dma_coerce_mask_and_coherent(), avoiding the direct initialization of this mask. Signed-off-by: Russell King --- diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c index a061b93efe66..ba3ca18611f7 100644 --- a/drivers/net/ethernet/nxp/lpc_eth.c +++ b/drivers/net/ethernet/nxp/lpc_eth.c @@ -1399,8 +1399,10 @@ static int lpc_eth_drv_probe(struct platform_device *pdev) } if (pldat->dma_buff_base_v == 0) { - pldat->pdev->dev.coherent_dma_mask = 0xFFFFFFFF; - pldat->pdev->dev.dma_mask = &pldat->pdev->dev.coherent_dma_mask; + ret = dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + if (ret) + goto err_out_free_irq; + pldat->dma_buff_size = PAGE_ALIGN(pldat->dma_buff_size); /* Allocate a chunk of memory for the DMA ethernet buffers