Skip to content

Commit 42e67b4

Browse files
BuzzBumbleBeealexdeucher
authored andcommitted
drm/prime: use dma length macro when mapping sg
As dma_map_sg can reorganize scatter-gather lists in a way that can cause some later segments to be empty we should always use the sg_dma_len macro to fetch the actual length. This could now be 0 and not need to be mapped to a page or address array Fixes: be62dbf ("iommu/amd: Convert AMD iommu driver to the dma-iommu api") Bug: https://bugzilla.kernel.org/show_bug.cgi?id=206461 Bug: https://bugzilla.kernel.org/show_bug.cgi?id=206895 Bug: https://gitlab.freedesktop.org/drm/amd/issues/1056 Signed-off-by: Shane Francis <[email protected]> Reviewed-by: Michael J. Ruhl <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Cc: [email protected]
1 parent b216a8e commit 42e67b4

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/gpu/drm/drm_prime.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -967,7 +967,7 @@ int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages,
967967

968968
index = 0;
969969
for_each_sg(sgt->sgl, sg, sgt->nents, count) {
970-
len = sg->length;
970+
len = sg_dma_len(sg);
971971
page = sg_page(sg);
972972
addr = sg_dma_address(sg);
973973

0 commit comments

Comments
 (0)