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),

Reply via email to