INIT_LIST_HEAD(&dmabuf->list);
 
        /* now, allocate dma buffer */
-       dmabuf->virt = dma_alloc_coherent(&pcidev->dev, BSG_MBOX_SIZE,
-                                         &(dmabuf->phys), GFP_KERNEL);
+       dmabuf->virt = dma_zalloc_coherent(&pcidev->dev, BSG_MBOX_SIZE,
+                                          &(dmabuf->phys), GFP_KERNEL);
 
        if (!dmabuf->virt) {
                kfree(dmabuf);
                return NULL;
        }
-       memset((uint8_t *)dmabuf->virt, 0, BSG_MBOX_SIZE);
 
        return dmabuf;
 }
 
        if (!dmabuf)
                return NULL;
 
-       dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
-                                         LPFC_HDR_TEMPLATE_SIZE,
-                                         &dmabuf->phys,
-                                         GFP_KERNEL);
+       dmabuf->virt = dma_zalloc_coherent(&phba->pcidev->dev,
+                                          LPFC_HDR_TEMPLATE_SIZE,
+                                          &dmabuf->phys, GFP_KERNEL);
        if (!dmabuf->virt) {
                rpi_hdr = NULL;
                goto err_free_dmabuf;
        }
 
-       memset(dmabuf->virt, 0, LPFC_HDR_TEMPLATE_SIZE);
        if (!IS_ALIGNED(dmabuf->phys, LPFC_HDR_TEMPLATE_SIZE)) {
                rpi_hdr = NULL;
                goto err_free_coherent;
        }
 
        /* Allocate memory for SLI-2 structures */
-       phba->slim2p.virt = dma_alloc_coherent(&pdev->dev,
-                                              SLI2_SLIM_SIZE,
-                                              &phba->slim2p.phys,
-                                              GFP_KERNEL);
+       phba->slim2p.virt = dma_zalloc_coherent(&pdev->dev, SLI2_SLIM_SIZE,
+                                               &phba->slim2p.phys, GFP_KERNEL);
        if (!phba->slim2p.virt)
                goto out_iounmap;
 
-       memset(phba->slim2p.virt, 0, SLI2_SLIM_SIZE);
        phba->mbox = phba->slim2p.virt + offsetof(struct lpfc_sli2_slim, mbx);
        phba->mbox_ext = (phba->slim2p.virt +
                offsetof(struct lpfc_sli2_slim, mbx_ext_words));
         * plus an alignment restriction of 16 bytes.
         */
        bmbx_size = sizeof(struct lpfc_bmbx_create) + (LPFC_ALIGN_16_BYTE - 1);
-       dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
-                                         bmbx_size,
-                                         &dmabuf->phys,
-                                         GFP_KERNEL);
+       dmabuf->virt = dma_zalloc_coherent(&phba->pcidev->dev, bmbx_size,
+                                          &dmabuf->phys, GFP_KERNEL);
        if (!dmabuf->virt) {
                kfree(dmabuf);
                return -ENOMEM;
        }
-       memset(dmabuf->virt, 0, bmbx_size);
 
        /*
         * Initialize the bootstrap mailbox pointers now so that the register
 
                 * page, this is used as a priori size of SLI4_PAGE_SIZE for
                 * the later DMA memory free.
                 */
-               viraddr = dma_alloc_coherent(&phba->pcidev->dev, SLI4_PAGE_SIZE,
-                                            &phyaddr, GFP_KERNEL);
+               viraddr = dma_zalloc_coherent(&phba->pcidev->dev,
+                                             SLI4_PAGE_SIZE, &phyaddr,
+                                             GFP_KERNEL);
                /* In case of malloc fails, proceed with whatever we have */
                if (!viraddr)
                        break;
-               memset(viraddr, 0, SLI4_PAGE_SIZE);
                mbox->sge_array->addr[pagen] = viraddr;
                /* Keep the first page for later sub-header construction */
                if (pagen == 0)
 
         * mailbox command.
         */
        dma_size = *vpd_size;
-       dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
-                                         dma_size,
-                                         &dmabuf->phys,
-                                         GFP_KERNEL);
+       dmabuf->virt = dma_zalloc_coherent(&phba->pcidev->dev, dma_size,
+                                          &dmabuf->phys, GFP_KERNEL);
        if (!dmabuf->virt) {
                kfree(dmabuf);
                return -ENOMEM;
        }
-       memset(dmabuf->virt, 0, dma_size);
 
        /*
         * The SLI4 implementation of READ_REV conflicts at word1,
                dmabuf = kzalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL);
                if (!dmabuf)
                        goto out_fail;
-               dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
-                                                 hw_page_size, &dmabuf->phys,
-                                                 GFP_KERNEL);
+               dmabuf->virt = dma_zalloc_coherent(&phba->pcidev->dev,
+                                                  hw_page_size, &dmabuf->phys,
+                                                  GFP_KERNEL);
                if (!dmabuf->virt) {
                        kfree(dmabuf);
                        goto out_fail;
                }
-               memset(dmabuf->virt, 0, hw_page_size);
                dmabuf->buffer_tag = x;
                list_add_tail(&dmabuf->list, &queue->page_list);
                /* initialize queue's entry array */