diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2006-01-03 10:58:53 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2006-01-03 10:58:53 -0500 |
commit | a18ceba7b40e24a9da87249bd74f16ea5abd6894 (patch) | |
tree | 5ce615d345e720ddabf95c46fb62287ee763ad4e /lib/swiotlb.c | |
parent | aaadff81195056c7c14e0d834b3318c624c0fd78 (diff) | |
parent | 88026842b0a760145aa71d69e74fbc9ec118ca44 (diff) | |
download | linux-a18ceba7b40e24a9da87249bd74f16ea5abd6894.tar.gz linux-a18ceba7b40e24a9da87249bd74f16ea5abd6894.tar.xz |
Merge branch 'master'
Diffstat (limited to 'lib/swiotlb.c')
-rw-r--r-- | lib/swiotlb.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/swiotlb.c b/lib/swiotlb.c index 57216f3544ca..1ff8dcebf7c6 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -704,8 +704,9 @@ swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg, int nelems, addr = SG_ENT_VIRT_ADDRESS(sg); dev_addr = virt_to_phys(addr); if (swiotlb_force || address_needs_mapping(hwdev, dev_addr)) { - sg->dma_address = (dma_addr_t) virt_to_phys(map_single(hwdev, addr, sg->length, dir)); - if (!sg->dma_address) { + void *map = map_single(hwdev, addr, sg->length, dir); + sg->dma_address = virt_to_bus(map); + if (!map) { /* Don't panic here, we expect map_sg users to do proper error handling. */ swiotlb_full(hwdev, sg->length, dir, 0); |