Copy the vmap()'ed instance of struct dma_buf_map before modifying it,
in case the implementation of vunmap() depends on the exact address.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
---
 drivers/gpu/drm/drm_fb_helper.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 13b65dad2ca8..5a22c744378c 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -395,14 +395,15 @@ static int drm_fb_helper_damage_blit(struct drm_fb_helper 
*fb_helper,
                                     struct drm_clip_rect *clip)
 {
        struct drm_client_buffer *buffer = fb_helper->buffer;
-       struct dma_buf_map map;
+       struct dma_buf_map map, dst;
        int ret;
 
        ret = drm_client_buffer_vmap(buffer, &map);
        if (ret)
                return ret;
 
-       drm_fb_helper_damage_blit_real(fb_helper, clip, &map);
+       dst = map;
+       drm_fb_helper_damage_blit_real(fb_helper, clip, &dst);
 
        drm_client_buffer_vunmap(buffer);
 
-- 
2.29.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to