|
@@ -323,10 +323,8 @@ int ast_bo_create(struct drm_device *dev, int size, int align,
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
ret = drm_gem_object_init(dev, &astbo->gem, size);
|
|
ret = drm_gem_object_init(dev, &astbo->gem, size);
|
|
- if (ret) {
|
|
|
|
- kfree(astbo);
|
|
|
|
- return ret;
|
|
|
|
- }
|
|
|
|
|
|
+ if (ret)
|
|
|
|
+ goto error;
|
|
|
|
|
|
astbo->bo.bdev = &ast->ttm.bdev;
|
|
astbo->bo.bdev = &ast->ttm.bdev;
|
|
|
|
|
|
@@ -340,10 +338,13 @@ int ast_bo_create(struct drm_device *dev, int size, int align,
|
|
align >> PAGE_SHIFT, false, NULL, acc_size,
|
|
align >> PAGE_SHIFT, false, NULL, acc_size,
|
|
NULL, NULL, ast_bo_ttm_destroy);
|
|
NULL, NULL, ast_bo_ttm_destroy);
|
|
if (ret)
|
|
if (ret)
|
|
- return ret;
|
|
|
|
|
|
+ goto error;
|
|
|
|
|
|
*pastbo = astbo;
|
|
*pastbo = astbo;
|
|
return 0;
|
|
return 0;
|
|
|
|
+error:
|
|
|
|
+ kfree(astbo);
|
|
|
|
+ return ret;
|
|
}
|
|
}
|
|
|
|
|
|
static inline u64 ast_bo_gpu_offset(struct ast_bo *bo)
|
|
static inline u64 ast_bo_gpu_offset(struct ast_bo *bo)
|