]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/i915/gvt: Return error at the failure of finding page_track
authorXiong Zhang <xiong.y.zhang@intel.com>
Mon, 5 Mar 2018 22:07:28 +0000 (06:07 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Tue, 6 Mar 2018 06:49:38 +0000 (14:49 +0800)
In XenGT, ioreq copy is used to trap mmio write and ppgtt write. Both
of them are memory write, ioreq handler couldn't distinguish them. So
ioreq handler probe the ppgtt write handler, if it is succuess, this
ioreq is ppgtt write, otherwise it is mmio write.

So ppgtt write handler should return an error at the failure of finding
page track, it is fatal to implement ioreq handler in XenGT.

Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/page_track.c

index 2d030545356b752e5845454a3c07e98a113d5da8..53e2bd79c97d9d9ae81d4b77a7007fb155132009 100644 (file)
@@ -164,8 +164,10 @@ int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa,
        mutex_lock(&gvt->lock);
 
        page_track = intel_vgpu_find_page_track(vgpu, gpa >> PAGE_SHIFT);
-       if (!page_track)
+       if (!page_track) {
+               ret = -ENXIO;
                goto out;
+       }
 
        if (unlikely(vgpu->failsafe)) {
                /* Remove write protection to prevent furture traps. */