Hi Alex, On 2020-03-30 15:23, Alex Deucher wrote: > On Mon, Mar 30, 2020 at 4:18 AM Marek Szyprowski > <m.szyprowski@xxxxxxxxxxx> wrote: >> Hi >> >> On 2020-03-27 10:10, Marek Szyprowski wrote: >>> Hi Christian, >>> >>> On 2020-03-27 09:11, Christian König wrote: >>>> Am 27.03.20 um 08:54 schrieb Marek Szyprowski: >>>>> On 2020-03-25 10:07, Shane Francis wrote: >>>>>> 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 >>>>>> >>>>>> Signed-off-by: Shane Francis <bigbeeshane@xxxxxxxxx> >>>>>> Reviewed-by: Michael J. Ruhl <michael.j.ruhl@xxxxxxxxx> >>>>> This patch landed in linux-next 20200326 and it causes a kernel >>>>> panic on >>>>> various Exynos SoC based boards. >>>>>> --- >>>>>> drivers/gpu/drm/drm_prime.c | 2 +- >>>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>>> >>>>>> 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); >>>>> Sorry, but this code is wrong :( >>>> Well it is at least better than before because it makes most drivers >>>> work correctly again. >>> Well, I'm not sure that a half-broken fix should be considered as a >>> fix ;) >>> >>> Anyway, I just got the comment from Shane, that my patch is fixing the >>> issues with amdgpu and radeon, while still working fine for exynos, so >>> it is indeed a proper fix. >> Today I've noticed that this patch went to final v5.6 without even a day >> of testing in linux-next, so v5.6 is broken on Exynos and probably a few >> other ARM archs, which rely on the drm_prime_sg_to_page_addr_arrays >> function. > Please commit your patch and cc stable. I've already did that: https://lkml.org/lkml/2020/3/27/555 Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel