Browse Source

drm/prime: fix sgt NULL checking

The drm_gem_map_detach() can be called with sgt is NULL.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Joonyoung Shim 12 years ago
parent
commit
f9d8a1294d
1 changed files with 6 additions and 5 deletions
  1. 6 5
      drivers/gpu/drm/drm_prime.c

+ 6 - 5
drivers/gpu/drm/drm_prime.c

@@ -119,12 +119,13 @@ static void drm_gem_map_detach(struct dma_buf *dma_buf,
 		return;
 
 	sgt = prime_attach->sgt;
+	if (sgt) {
+		if (prime_attach->dir != DMA_NONE)
+			dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents,
+					prime_attach->dir);
+		sg_free_table(sgt);
+	}
 
-	if (prime_attach->dir != DMA_NONE)
-		dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents,
-				prime_attach->dir);
-
-	sg_free_table(sgt);
 	kfree(sgt);
 	kfree(prime_attach);
 	attach->priv = NULL;