[why]
i915_gem_object_put_pages_phys() frees pages and standard
pattern is to allow caller to not care if it's
NULL or not. This will reduce burden on
the callers to perform this check.

[how]
Fix it by adding Null check.

Signed-off-by: Yongzhi Liu <lyz...@pku.edu.cn>
---
 drivers/gpu/drm/i915/gem/i915_gem_phys.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_phys.c 
b/drivers/gpu/drm/i915/gem/i915_gem_phys.c
index ca6faff..09c3dcb 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_phys.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_phys.c
@@ -95,8 +95,13 @@ void
 i915_gem_object_put_pages_phys(struct drm_i915_gem_object *obj,
                               struct sg_table *pages)
 {
-       dma_addr_t dma = sg_dma_address(pages->sgl);
-       void *vaddr = sg_page(pages->sgl);
+       dma_addr_t dma;
+       void *vaddr;
+
+       if (!pages)
+               return;
+       dma = sg_dma_address(pages->sgl);
+       vaddr = sg_page(pages->sgl);
 
        __i915_gem_object_release_shmem(obj, pages, false);
 
-- 
2.7.4

Reply via email to