void *vir_pool;
 
        /*allocate all RD/TD rings a single pool*/
-       vir_pool = pci_zalloc_consistent(pDevice->pcid,
+       vir_pool = dma_zalloc_coherent(&pDevice->pcid->dev,
                                         pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) +
                                         pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) +
                                         pDevice->sOpts.nTxDescs[0] * sizeof(STxDesc) +
                                         pDevice->sOpts.nTxDescs[1] * sizeof(STxDesc),
-                                        &pDevice->pool_dma);
+                                        &pDevice->pool_dma, GFP_ATOMIC);
        if (vir_pool == NULL) {
                dev_err(&pDevice->pcid->dev, "allocate desc dma memory failed\n");
                return false;
        pDevice->rd1_pool_dma = pDevice->rd0_pool_dma +
                pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc);
 
-       pDevice->tx0_bufs = pci_zalloc_consistent(pDevice->pcid,
+       pDevice->tx0_bufs = dma_zalloc_coherent(&pDevice->pcid->dev,
                                                  pDevice->sOpts.nTxDescs[0] * PKT_BUF_SZ +
                                                  pDevice->sOpts.nTxDescs[1] * PKT_BUF_SZ +
                                                  CB_BEACON_BUF_SIZE +
                                                  CB_MAX_BUF_SIZE,
-                                                 &pDevice->tx_bufs_dma0);
+                                                 &pDevice->tx_bufs_dma0,
+                                                 GFP_ATOMIC);
        if (pDevice->tx0_bufs == NULL) {
                dev_err(&pDevice->pcid->dev, "allocate buf dma memory failed\n");
 
-               pci_free_consistent(pDevice->pcid,
+               dma_free_coherent(&pDevice->pcid->dev,
                                    pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) +
                                    pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) +
                                    pDevice->sOpts.nTxDescs[0] * sizeof(STxDesc) +
 
 static void device_free_rings(struct vnt_private *pDevice)
 {
-       pci_free_consistent(pDevice->pcid,
+       dma_free_coherent(&pDevice->pcid->dev,
                            pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) +
                            pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) +
                            pDevice->sOpts.nTxDescs[0] * sizeof(STxDesc) +
                );
 
        if (pDevice->tx0_bufs)
-               pci_free_consistent(pDevice->pcid,
+               dma_free_coherent(&pDevice->pcid->dev,
                                    pDevice->sOpts.nTxDescs[0] * PKT_BUF_SZ +
                                    pDevice->sOpts.nTxDescs[1] * PKT_BUF_SZ +
                                    CB_BEACON_BUF_SIZE +
                PSRxDesc        pDesc = &(pDevice->aRD0Ring[i]);
                PDEVICE_RD_INFO  pRDInfo = pDesc->pRDInfo;
 
-               pci_unmap_single(pDevice->pcid, pRDInfo->skb_dma,
-                                pDevice->rx_buf_sz, PCI_DMA_FROMDEVICE);
+               dma_unmap_single(&pDevice->pcid->dev, pRDInfo->skb_dma,
+                                pDevice->rx_buf_sz, DMA_FROM_DEVICE);
 
                dev_kfree_skb(pRDInfo->skb);
 
                PSRxDesc        pDesc = &(pDevice->aRD1Ring[i]);
                PDEVICE_RD_INFO  pRDInfo = pDesc->pRDInfo;
 
-               pci_unmap_single(pDevice->pcid, pRDInfo->skb_dma,
-                                pDevice->rx_buf_sz, PCI_DMA_FROMDEVICE);
+               dma_unmap_single(&pDevice->pcid->dev, pRDInfo->skb_dma,
+                                pDevice->rx_buf_sz, DMA_FROM_DEVICE);
 
                dev_kfree_skb(pRDInfo->skb);
 
                PDEVICE_TD_INFO  pTDInfo = pDesc->pTDInfo;
 
                if (pTDInfo->skb_dma && (pTDInfo->skb_dma != pTDInfo->buf_dma))
-                       pci_unmap_single(pDevice->pcid, pTDInfo->skb_dma,
-                                        pTDInfo->skb->len, PCI_DMA_TODEVICE);
+                       dma_unmap_single(&pDevice->pcid->dev, pTDInfo->skb_dma,
+                                        pTDInfo->skb->len, DMA_TO_DEVICE);
 
                if (pTDInfo->skb)
                        dev_kfree_skb(pTDInfo->skb);
                PDEVICE_TD_INFO  pTDInfo = pDesc->pTDInfo;
 
                if (pTDInfo->skb_dma && (pTDInfo->skb_dma != pTDInfo->buf_dma))
-                       pci_unmap_single(pDevice->pcid, pTDInfo->skb_dma,
-                                        pTDInfo->skb->len, PCI_DMA_TODEVICE);
+                       dma_unmap_single(&pDevice->pcid->dev, pTDInfo->skb_dma,
+                                        pTDInfo->skb->len, DMA_TO_DEVICE);
 
                if (pTDInfo->skb)
                        dev_kfree_skb(pTDInfo->skb);
        ASSERT(pRDInfo->skb);
 
        pRDInfo->skb_dma =
-               pci_map_single(pDevice->pcid,
+               dma_map_single(&pDevice->pcid->dev,
                               skb_put(pRDInfo->skb, skb_tailroom(pRDInfo->skb)),
-                              pDevice->rx_buf_sz, PCI_DMA_FROMDEVICE);
+                              pDevice->rx_buf_sz, DMA_FROM_DEVICE);
 
        *((unsigned int *)&(pRD->m_rd0RD0)) = 0; /* FIX cast */
 
 
        /* pre-allocated buf_dma can't be unmapped. */
        if (pTDInfo->skb_dma && (pTDInfo->skb_dma != pTDInfo->buf_dma)) {
-               pci_unmap_single(pDevice->pcid, pTDInfo->skb_dma, skb->len,
-                                PCI_DMA_TODEVICE);
+               dma_unmap_single(&pDevice->pcid->dev, pTDInfo->skb_dma,
+                                skb->len, DMA_TO_DEVICE);
        }
 
        if (pTDInfo->byFlags & TD_FLAGS_NETIF_SKB)