net: dwc-xlgmac: fix an error code in xlgmac_alloc_pages()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 21 Mar 2017 20:42:27 +0000 (23:42 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Mar 2017 19:46:10 +0000 (12:46 -0700)
The dma_mapping_error() returns true if there is an error but we want
to return -ENOMEM and not 1.

Fixes: 65e0ace2c5cd ("net: dwc-xlgmac: Initial driver for DesignWare Enterprise Ethernet")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Jie Deng <jiedeng@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c

index 55c796ed7d2674f23a9aba4c50b10e33b07258bc..39b5cb967bbacc2bafa54a2dc93e2d56f201e10b 100644 (file)
@@ -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;