diff --git a/linux-4.19/hi3516dv300_patch/hi3516dv300.patch b/linux-4.19/hi3516dv300_patch/hi3516dv300.patch index fd0098263560970bf3fc6298887934da7b32344a..dc7489597de3ebb3923569baf3bdf0d97f8eb02a 100644 --- a/linux-4.19/hi3516dv300_patch/hi3516dv300.patch +++ b/linux-4.19/hi3516dv300_patch/hi3516dv300.patch @@ -301491,7 +301491,7 @@ new file mode 100644 index 000000000000..123a61f44d1c --- /dev/null +++ b/drivers/gpu/drm/hisilicon/hismart/hi_drm_drv.c -@@ -0,0 +1,367 @@ +@@ -0,0 +1,376 @@ +/* + * Copyright (c) Hisilicon Technologies Co., Ltd. 2020-2020. All rights reserved. + * Description: Hisilicon DRM driver @@ -301583,6 +301583,9 @@ index 000000000000..123a61f44d1c + page = sg_page(sgt->sgl); + arg->phyaddr = PFN_PHYS(page_to_pfn(page)); + drm_gem_object_put_unlocked(gem_obj); ++ sg_free_table(sgt); ++ kfree(sgt); ++ sgt = ERR_PTR(-ENOMEM); + return 0; +} + @@ -301647,6 +301650,9 @@ index 000000000000..123a61f44d1c + node->size = args->size; + drm_gem_object_put_unlocked(gem_obj); + osal_list_add(&node->list, &g_phys_addr); ++ sg_free_table(sgt); ++ kfree(sgt); ++ sgt = ERR_PTR(-ENOMEM); + return 0; +} + @@ -301666,6 +301672,9 @@ index 000000000000..123a61f44d1c + phyaddr = PFN_PHYS(page_to_pfn(page)); + + drm_gem_cma_free_object(gem_obj); ++ sg_free_table(sgt); ++ kfree(sgt); ++ sgt = ERR_PTR(-ENOMEM); + osal_list_for_each_entry(p, &g_phys_addr, list) { + if (p->phys_addr == phyaddr) { + osal_list_del(&p->list);