X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Fdrivers%2Fnet%2Fethernet%2Fqlogic%2Fqlge%2Fqlge_main.c;fp=kernel%2Fdrivers%2Fnet%2Fethernet%2Fqlogic%2Fqlge%2Fqlge_main.c;h=b28e73ea2c258850f1a00cb195e45f4751900f43;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=997976426799d90a328cef4ff958b92ce3ba491c;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/kernel/drivers/net/ethernet/qlogic/qlge/qlge_main.c index 997976426..b28e73ea2 100644 --- a/kernel/drivers/net/ethernet/qlogic/qlge/qlge_main.c +++ b/kernel/drivers/net/ethernet/qlogic/qlge/qlge_main.c @@ -1648,7 +1648,18 @@ static void ql_process_mac_rx_skb(struct ql_adapter *qdev, return; } skb_reserve(new_skb, NET_IP_ALIGN); + + pci_dma_sync_single_for_cpu(qdev->pdev, + dma_unmap_addr(sbq_desc, mapaddr), + dma_unmap_len(sbq_desc, maplen), + PCI_DMA_FROMDEVICE); + memcpy(skb_put(new_skb, length), skb->data, length); + + pci_dma_sync_single_for_device(qdev->pdev, + dma_unmap_addr(sbq_desc, mapaddr), + dma_unmap_len(sbq_desc, maplen), + PCI_DMA_FROMDEVICE); skb = new_skb; /* Frame error, so drop the packet. */