From: Pekka Enberg <[EMAIL PROTECTED]>

Move nouveau_map_block() call from nouveau_mem_alloc() to nouveau_addmap() to
simplify error handling.

Signed-off-by: Pekka Enberg <[EMAIL PROTECTED]>
---
 shared-core/nouveau_mem.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

Index: drm/shared-core/nouveau_mem.c
===================================================================
--- drm.orig/shared-core/nouveau_mem.c
+++ drm/shared-core/nouveau_mem.c
@@ -532,8 +532,13 @@ static int nouveau_map_block(struct drm_
 static int nouveau_addmap(struct drm_device *dev, struct mem_block *block,
                          unsigned long offset, enum drm_map_type type)
 {
-       return drm_addmap(dev, block->start, block->size, type, 0,
-                         &block->map);
+       int err;
+
+       err = drm_addmap(dev, block->start, block->size, type, 0, &block->map);
+       if (err)
+               return err;
+
+       return nouveau_map_block(dev, block);
 }
 
 static int nouveau_addmap_pci(struct drm_device *dev, struct mem_block *block)
@@ -646,11 +651,6 @@ alloc_ok:
                        nouveau_mem_free_block(block);
                        return NULL;
                }
-
-               if (!nouveau_map_block(dev, block)) {
-                       nouveau_mem_free_block(block);
-                       return NULL;
-               }
        }
 
        DRM_DEBUG("allocated %lld bytes at 0x%llx type=0x%08x\n", block->size, 
block->start, block->flags);
_______________________________________________
Nouveau mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to