]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Missing critical phys_to_virt in lib/swiotlb.c
authorDavid Moore <dcm@acm.org>
Wed, 21 Feb 2007 13:37:44 +0000 (14:37 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 3 Mar 2007 00:32:46 +0000 (16:32 -0800)
Adds missing call to phys_to_virt() in the
lib/swiotlb.c:swiotlb_sync_sg() function.  Without this change, a kernel
panic will always occur whenever a SWIOTLB bounce buffer from a
scatter-gather list gets synced.

Signed-off-by: David Moore <dcm@acm.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
lib/swiotlb.c

index 10625785eefd90d412668fce760190b122569bb9..d6d57fb475e3cc7d399e9fb9357b0012c2ade082 100644 (file)
@@ -750,7 +750,7 @@ swiotlb_sync_sg(struct device *hwdev, struct scatterlist *sg,
 
        for (i = 0; i < nelems; i++, sg++)
                if (sg->dma_address != SG_ENT_PHYS_ADDRESS(sg))
-                       sync_single(hwdev, (void *) sg->dma_address,
+                       sync_single(hwdev, phys_to_virt(sg->dma_address),
                                    sg->dma_length, dir, target);
 }