OSDN Git Service

net: chelsio: Use zeroing memory allocator instead of allocator/memset
authorYueHaibing <yuehaibing@huawei.com>
Sun, 3 Jun 2018 02:40:15 +0000 (10:40 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Jun 2018 20:07:30 +0000 (16:07 -0400)
Use dma_zalloc_coherent for allocating zeroed
memory and remove unnecessary memset function.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb3/sge.c
drivers/net/ethernet/chelsio/cxgb4/sge.c
drivers/net/ethernet/chelsio/cxgb4vf/sge.c

index e988caa..20b6e1b 100644 (file)
@@ -620,7 +620,7 @@ static void *alloc_ring(struct pci_dev *pdev, size_t nelem, size_t elem_size,
 {
        size_t len = nelem * elem_size;
        void *s = NULL;
-       void *p = dma_alloc_coherent(&pdev->dev, len, phys, GFP_KERNEL);
+       void *p = dma_zalloc_coherent(&pdev->dev, len, phys, GFP_KERNEL);
 
        if (!p)
                return NULL;
@@ -633,7 +633,6 @@ static void *alloc_ring(struct pci_dev *pdev, size_t nelem, size_t elem_size,
                }
                *(void **)metadata = s;
        }
-       memset(p, 0, len);
        return p;
 }
 
index 276f223..7a271fe 100644 (file)
@@ -694,7 +694,7 @@ static void *alloc_ring(struct device *dev, size_t nelem, size_t elem_size,
 {
        size_t len = nelem * elem_size + stat_size;
        void *s = NULL;
-       void *p = dma_alloc_coherent(dev, len, phys, GFP_KERNEL);
+       void *p = dma_zalloc_coherent(dev, len, phys, GFP_KERNEL);
 
        if (!p)
                return NULL;
@@ -708,7 +708,6 @@ static void *alloc_ring(struct device *dev, size_t nelem, size_t elem_size,
        }
        if (metadata)
                *(void **)metadata = s;
-       memset(p, 0, len);
        return p;
 }
 
index dfce5df..3007e1a 100644 (file)
@@ -756,7 +756,7 @@ static void *alloc_ring(struct device *dev, size_t nelem, size_t hwsize,
         * Allocate the hardware ring and PCI DMA bus address space for said.
         */
        size_t hwlen = nelem * hwsize + stat_size;
-       void *hwring = dma_alloc_coherent(dev, hwlen, busaddrp, GFP_KERNEL);
+       void *hwring = dma_zalloc_coherent(dev, hwlen, busaddrp, GFP_KERNEL);
 
        if (!hwring)
                return NULL;
@@ -776,11 +776,6 @@ static void *alloc_ring(struct device *dev, size_t nelem, size_t hwsize,
                *(void **)swringp = swring;
        }
 
-       /*
-        * Zero out the hardware ring and return its address as our function
-        * value.
-        */
-       memset(hwring, 0, hwlen);
        return hwring;
 }