When it is failed in shadow_mm, the pin_count should rollback
to the original states before return.
v2:
- split the mixed several error paths for better review. (Zhenyu)
v3:
  increase the pincount after shadow success. (Zhenyu)
Signed-off-by: fred gao <fred.gao@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
        if (WARN_ON(mm->type != INTEL_GVT_MM_PPGTT))
                return 0;
 
-       atomic_inc(&mm->pincount);
-
        if (!mm->shadowed) {
                ret = shadow_mm(mm);
                if (ret)
                        return ret;
        }
 
+       atomic_inc(&mm->pincount);
        list_del_init(&mm->lru_list);
        list_add_tail(&mm->lru_list, &mm->vgpu->gvt->gtt.mm_lru_list_head);
        return 0;