> while (curr_idx != clean_idx) { > - lbq_desc = &rx_ring->lbq[curr_idx]; > + struct qlge_bq_desc *lbq_desc = &rx_ring- > >lbq.queue[curr_idx]; > > if (lbq_desc->p.pg_chunk.offset == last_offset) > - pci_unmap_page(qdev->pdev, lbq_desc- > >p.pg_chunk.map, > + pci_unmap_page(qdev->pdev, lbq_desc->dma_addr, > ql_lbq_block_size(qdev), > PCI_DMA_FROMDEVICE);
In this patch, lbq_desc->dma_addr points to offset in the page. So unmapping is broken within this patch. Would have been nicer to fix this in the same patch although it might have been taken care in next patches probably.