pci_unmap_single - 2.5 kernel
In the 2.5 kernel pci_map_sg contains these lines:
addr = (unsigned long) page_address(sg->page);
if (addr)
dma_cache_wback_inv(addr, sg->length);Surely when flushing the offset needs to be added to the page base address (addr)? So that this reads:
if (addr)
dma_cache_wback_inv(addr + sg->offset, sg->length);/Brian