On 2019/06/27 10:02, Manish Chopra wrote:
> > 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.
>
Indeed, thanks. The same applies in ql_get_curr_lchunk().
Replaced with the following for v2:
+ pci_unmap_page(qdev->pdev, lbq_desc->dma_addr -
+ last_offset, ql_lbq_block_size(qdev),