OSDN Git Service

wcn36xx: use dma_zalloc_coherent instead of allocator/memset
authorYueHaibing <yuehaibing@huawei.com>
Mon, 6 Aug 2018 09:39:16 +0000 (12:39 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 24 Aug 2018 11:50:20 +0000 (14:50 +0300)
Use dma_zalloc_coherent instead of dma_alloc_coherent
followed by memset 0.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wcn36xx/dxe.c

index 06cfe8d..5ab3e31 100644 (file)
@@ -174,13 +174,12 @@ static int wcn36xx_dxe_init_descs(struct device *dev, struct wcn36xx_dxe_ch *wcn
        int i;
 
        size = wcn_ch->desc_num * sizeof(struct wcn36xx_dxe_desc);
-       wcn_ch->cpu_addr = dma_alloc_coherent(dev, size, &wcn_ch->dma_addr,
-                                             GFP_KERNEL);
+       wcn_ch->cpu_addr = dma_zalloc_coherent(dev, size,
+                                              &wcn_ch->dma_addr,
+                                              GFP_KERNEL);
        if (!wcn_ch->cpu_addr)
                return -ENOMEM;
 
-       memset(wcn_ch->cpu_addr, 0, size);
-
        cur_dxe = (struct wcn36xx_dxe_desc *)wcn_ch->cpu_addr;
        cur_ctl = wcn_ch->head_blk_ctl;
 
@@ -628,13 +627,13 @@ int wcn36xx_dxe_allocate_mem_pools(struct wcn36xx *wcn)
                16 - (WCN36XX_BD_CHUNK_SIZE % 8);
 
        s = wcn->mgmt_mem_pool.chunk_size * WCN36XX_DXE_CH_DESC_NUMB_TX_H;
-       cpu_addr = dma_alloc_coherent(wcn->dev, s, &wcn->mgmt_mem_pool.phy_addr,
-                                     GFP_KERNEL);
+       cpu_addr = dma_zalloc_coherent(wcn->dev, s,
+                                      &wcn->mgmt_mem_pool.phy_addr,
+                                      GFP_KERNEL);
        if (!cpu_addr)
                goto out_err;
 
        wcn->mgmt_mem_pool.virt_addr = cpu_addr;
-       memset(cpu_addr, 0, s);
 
        /* Allocate BD headers for DATA frames */
 
@@ -643,13 +642,13 @@ int wcn36xx_dxe_allocate_mem_pools(struct wcn36xx *wcn)
                16 - (WCN36XX_BD_CHUNK_SIZE % 8);
 
        s = wcn->data_mem_pool.chunk_size * WCN36XX_DXE_CH_DESC_NUMB_TX_L;
-       cpu_addr = dma_alloc_coherent(wcn->dev, s, &wcn->data_mem_pool.phy_addr,
-                                     GFP_KERNEL);
+       cpu_addr = dma_zalloc_coherent(wcn->dev, s,
+                                      &wcn->data_mem_pool.phy_addr,
+                                      GFP_KERNEL);
        if (!cpu_addr)
                goto out_err;
 
        wcn->data_mem_pool.virt_addr = cpu_addr;
-       memset(cpu_addr, 0, s);
 
        return 0;