diff options
-rw-r--r-- | mali_kbase/csf/mali_kbase_csf_kcpu.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mali_kbase/csf/mali_kbase_csf_kcpu.c b/mali_kbase/csf/mali_kbase_csf_kcpu.c index 2991060..38e8520 100644 --- a/mali_kbase/csf/mali_kbase_csf_kcpu.c +++ b/mali_kbase/csf/mali_kbase_csf_kcpu.c @@ -649,9 +649,12 @@ static int kbase_csf_queue_group_suspend_prepare( u64 start, end, i; if (((reg->flags & KBASE_REG_ZONE_MASK) != KBASE_REG_ZONE_SAME_VA) || - reg->nr_pages < nr_pages || - kbase_reg_current_backed_size(reg) != - reg->nr_pages) { + (kbase_reg_current_backed_size(reg) < nr_pages) || + !(reg->flags & KBASE_REG_CPU_WR) || + (reg->gpu_alloc->type != KBASE_MEM_TYPE_NATIVE) || + (reg->flags & KBASE_REG_DONT_NEED) || + (reg->flags & KBASE_REG_ACTIVE_JIT_ALLOC) || + (reg->flags & KBASE_REG_NO_USER_FREE)) { ret = -EINVAL; goto out_clean_pages; } |