tile PCI DMA: fix bug in non-page-aligned accessors

The code incorrectly masked with PAGE_OFFSET instead of
PAGE_SIZE-1.  This only matters when trying to do a
non page-aligned DMA; it was noticed during code inspection.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
This commit is contained in:
Chris Metcalf 2013-08-05 13:45:28 -04:00
parent dc7d5cf2ca
commit 02b67e0954

View File

@ -257,7 +257,7 @@ static void tile_dma_unmap_page(struct device *dev, dma_addr_t dma_address,
BUG_ON(!valid_dma_direction(direction)); BUG_ON(!valid_dma_direction(direction));
__dma_complete_page(pfn_to_page(PFN_DOWN(dma_address)), __dma_complete_page(pfn_to_page(PFN_DOWN(dma_address)),
dma_address & PAGE_OFFSET, size, direction); dma_address & (PAGE_SIZE - 1), size, direction);
} }
static void tile_dma_sync_single_for_cpu(struct device *dev, static void tile_dma_sync_single_for_cpu(struct device *dev,
@ -436,7 +436,7 @@ static void tile_pci_dma_unmap_page(struct device *dev, dma_addr_t dma_address,
dma_address -= get_dma_offset(dev); dma_address -= get_dma_offset(dev);
__dma_complete_page(pfn_to_page(PFN_DOWN(dma_address)), __dma_complete_page(pfn_to_page(PFN_DOWN(dma_address)),
dma_address & PAGE_OFFSET, size, direction); dma_address & (PAGE_SIZE - 1), size, direction);
} }
static void tile_pci_dma_sync_single_for_cpu(struct device *dev, static void tile_pci_dma_sync_single_for_cpu(struct device *dev,