>       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.


Reply via email to