OSDN Git Service

ath10k: use dma_zalloc_coherent()
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Fri, 27 Jan 2017 17:52:37 +0000 (19:52 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 27 Jan 2017 18:03:27 +0000 (20:03 +0200)
use dma_zalloc_coherent() instead of dma_alloc_coherent and memset().

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/ce.c
drivers/net/wireless/ath/ath10k/pci.c

index c04e687..da466ab 100644 (file)
@@ -958,7 +958,7 @@ ath10k_ce_alloc_dest_ring(struct ath10k *ar, unsigned int ce_id,
         * coherent DMA are unsupported
         */
        dest_ring->base_addr_owner_space_unaligned =
-               dma_alloc_coherent(ar->dev,
+               dma_zalloc_coherent(ar->dev,
                                   (nentries * sizeof(struct ce_desc) +
                                    CE_DESC_RING_ALIGN),
                                   &base_addr, GFP_KERNEL);
@@ -969,13 +969,6 @@ ath10k_ce_alloc_dest_ring(struct ath10k *ar, unsigned int ce_id,
 
        dest_ring->base_addr_ce_space_unaligned = base_addr;
 
-       /*
-        * Correctly initialize memory to 0 to prevent garbage
-        * data crashing system when download firmware
-        */
-       memset(dest_ring->base_addr_owner_space_unaligned, 0,
-              nentries * sizeof(struct ce_desc) + CE_DESC_RING_ALIGN);
-
        dest_ring->base_addr_owner_space = PTR_ALIGN(
                        dest_ring->base_addr_owner_space_unaligned,
                        CE_DESC_RING_ALIGN);
index 95ccd6d..8f0d518 100644 (file)
@@ -896,7 +896,7 @@ static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, void *data,
         */
        alloc_nbytes = min_t(unsigned int, nbytes, DIAG_TRANSFER_LIMIT);
 
-       data_buf = (unsigned char *)dma_alloc_coherent(ar->dev,
+       data_buf = (unsigned char *)dma_zalloc_coherent(ar->dev,
                                                       alloc_nbytes,
                                                       &ce_data_base,
                                                       GFP_ATOMIC);
@@ -905,7 +905,6 @@ static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, void *data,
                ret = -ENOMEM;
                goto done;
        }
-       memset(data_buf, 0, alloc_nbytes);
 
        remaining_bytes = nbytes;
        ce_data = ce_data_base;