|
@@ -1106,6 +1106,7 @@ static int ql_get_next_chunk(struct ql_adapter *qdev, struct rx_ring *rx_ring,
|
|
|
if (pci_dma_mapping_error(qdev->pdev, map)) {
|
|
|
__free_pages(rx_ring->pg_chunk.page,
|
|
|
qdev->lbq_buf_order);
|
|
|
+ rx_ring->pg_chunk.page = NULL;
|
|
|
netif_err(qdev, drv, qdev->ndev,
|
|
|
"PCI mapping failed.\n");
|
|
|
return -ENOMEM;
|
|
@@ -2777,6 +2778,12 @@ static void ql_free_lbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring
|
|
|
curr_idx = 0;
|
|
|
|
|
|
}
|
|
|
+ if (rx_ring->pg_chunk.page) {
|
|
|
+ pci_unmap_page(qdev->pdev, rx_ring->pg_chunk.map,
|
|
|
+ ql_lbq_block_size(qdev), PCI_DMA_FROMDEVICE);
|
|
|
+ put_page(rx_ring->pg_chunk.page);
|
|
|
+ rx_ring->pg_chunk.page = NULL;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static void ql_free_sbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring)
|