|
@@ -726,7 +726,8 @@ int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents,
|
|
/* IIep is write-through, not flushing. */
|
|
/* IIep is write-through, not flushing. */
|
|
for (n = 0; n < nents; n++) {
|
|
for (n = 0; n < nents; n++) {
|
|
BUG_ON(page_address(sg->page) == NULL);
|
|
BUG_ON(page_address(sg->page) == NULL);
|
|
- sg->dvma_address = virt_to_phys(page_address(sg->page));
|
|
|
|
|
|
+ sg->dvma_address =
|
|
|
|
+ virt_to_phys(page_address(sg->page)) + sg->offset;
|
|
sg->dvma_length = sg->length;
|
|
sg->dvma_length = sg->length;
|
|
sg++;
|
|
sg++;
|
|
}
|
|
}
|