diff options
| author | Shane Francis <[email protected]> | 2020-03-25 09:07:39 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2020-03-25 16:01:23 +0000 |
| commit | 42e67b479eab6d26459b80b4867298232b0435e7 (patch) | |
| tree | 5b497900fd7350ff51c89e623f5d4ab5760c2700 /drivers/gpu/drm/drm_prime.c | |
| parent | drm/lease: fix WARNING in idr_destroy (diff) | |
| download | kernel-42e67b479eab6d26459b80b4867298232b0435e7.tar.gz kernel-42e67b479eab6d26459b80b4867298232b0435e7.zip | |
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: be62dbf554c5 ("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]
Diffstat (limited to 'drivers/gpu/drm/drm_prime.c')
| -rw-r--r-- | drivers/gpu/drm/drm_prime.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c index 86d9b0e45c8c..1de2cde2277c 100644 --- a/drivers/gpu/drm/drm_prime.c +++ b/drivers/gpu/drm/drm_prime.c @@ -967,7 +967,7 @@ int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages, index = 0; for_each_sg(sgt->sgl, sg, sgt->nents, count) { - len = sg->length; + len = sg_dma_len(sg); page = sg_page(sg); addr = sg_dma_address(sg); |
