diff options
author | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2007-03-30 12:23:22 +0200 |
---|---|---|
committer | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2007-04-03 10:29:14 +0200 |
commit | d85e243259259d7702db0d344ae1ff7d26598227 (patch) | |
tree | d20c87a040f752368b483ff983fe65180b80a760 | |
parent | 72d457fc1973a61f906a42d049c1c160cc7dee4e (diff) |
Fix an oops when trying to clean a not yet initialized memory type.
-rw-r--r-- | linux-core/drm_bo.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/linux-core/drm_bo.c b/linux-core/drm_bo.c index 1bdc6fef..cea6ef62 100644 --- a/linux-core/drm_bo.c +++ b/linux-core/drm_bo.c @@ -1991,10 +1991,16 @@ static int drm_bo_lock_mm(drm_device_t * dev, unsigned mem_type) drm_mem_type_manager_t *man = &bm->man[mem_type]; if (mem_type == 0 || mem_type >= DRM_BO_MEM_TYPES) { - DRM_ERROR("Illegal memory manager memory type %u,\n", mem_type); + DRM_ERROR("Illegal memory manager memory type %u.\n", mem_type); return -EINVAL; } + if (!man->has_type) { + DRM_ERROR("Memory type %u has not been initialized.\n", + mem_type); + return 0; + } + drm_bo_clean_unfenced(dev); ret = drm_bo_force_list_clean(dev, &man->lru, mem_type, 0, 1, 0); if (ret) |