Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31c7ba9e authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

net: dwc-xlgmac: fix an error code in xlgmac_alloc_pages()



The dma_mapping_error() returns true if there is an error but we want
to return -ENOMEM and not 1.

Fixes: 65e0ace2 ("net: dwc-xlgmac: Initial driver for DesignWare Enterprise Ethernet")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: default avatarJie Deng <jiedeng@synopsys.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a7678c70
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -335,7 +335,6 @@ static int xlgmac_alloc_pages(struct xlgmac_pdata *pdata,
{
	struct page *pages = NULL;
	dma_addr_t pages_dma;
	int ret;

	/* Try to obtain pages, decreasing order if necessary */
	gfp |= __GFP_COLD | __GFP_COMP | __GFP_NOWARN;
@@ -352,10 +351,9 @@ static int xlgmac_alloc_pages(struct xlgmac_pdata *pdata,
	/* Map the pages */
	pages_dma = dma_map_page(pdata->dev, pages, 0,
				 PAGE_SIZE << order, DMA_FROM_DEVICE);
	ret = dma_mapping_error(pdata->dev, pages_dma);
	if (ret) {
	if (dma_mapping_error(pdata->dev, pages_dma)) {
		put_page(pages);
		return ret;
		return -ENOMEM;
	}

	pa->pages = pages;