ret = copy_gma_to_hva(s->vgpu, s->vgpu->gtt.ggtt_mm,
                              gma, gma + bb_size,
                              dst);
-       if (ret) {
+       if (ret < 0) {
                gvt_vgpu_err("fail to copy guest ring buffer\n");
                goto unmap_src;
        }
        if (gma_head > gma_tail) {
                ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm,
                                      gma_head, gma_top, cs);
-               if (ret) {
+               if (ret < 0) {
                        gvt_vgpu_err("fail to copy guest ring buffer\n");
                        return ret;
                }
 
        /* copy head or start <-> tail */
        ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_tail, cs);
-       if (ret) {
+       if (ret < 0) {
                gvt_vgpu_err("fail to copy guest ring buffer\n");
                return ret;
        }
                                wa_ctx->workload->vgpu->gtt.ggtt_mm,
                                guest_gma, guest_gma + ctx_size,
                                map);
-       if (ret) {
+       if (ret < 0) {
                gvt_vgpu_err("fail to copy guest indirect ctx\n");
                goto unmap_src;
        }