[PATCH] drm/i915/gvt: Destroy idle vgpu earlier

Wang, Zhi A zhi.a.wang at intel.com
Tue Sep 25 07:05:52 UTC 2018


Thanks. Reviewed-by: Zhi Wang <zhi.a.wang at intel.com>

-----Original Message-----
From: intel-gvt-dev [mailto:intel-gvt-dev-bounces at lists.freedesktop.org] On Behalf Of Xiong Zhang
Sent: Tuesday, September 25, 2018 9:59 AM
To: intel-gvt-dev at lists.freedesktop.org
Cc: Zhang, Xiong Y <xiong.y.zhang at intel.com>
Subject: [PATCH] drm/i915/gvt: Destroy idle vgpu earlier

When host i915 module is unloaded, the following call trace exists:
[  134.941075] Call Trace:
[  134.941085]  hrtimer_try_to_cancel+0x25/0x120 [  134.941095]  hrtimer_cancel+0x15/0x20 [  134.941166]  intel_gvt_destroy_idle_vgpu+0xe/0x20 [i915] [  134.941230]  intel_gvt_clean_device+0xe5/0x120 [i915] [  134.941273]  i915_driver_unload+0x9d/0x120 [i915] [  134.941317]  i915_pci_remove+0x15/0x20 [i915]

The reason is that idle vgpu reference gvt structure which has been freed earlier. So this patch move destroy_idle_vgpu() before destroy_vgt().

Fixes: 61a669473f82("drm/i915/gvt: cancel scheduler timer when no vGPU exists")
Signed-off-by: Xiong Zhang <xiong.y.zhang at intel.com>
---
 drivers/gpu/drm/i915/gvt/gvt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c index 83b3f0d..566d469 100644
--- a/drivers/gpu/drm/i915/gvt/gvt.c
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
@@ -319,6 +319,8 @@ void intel_gvt_clean_device(struct drm_i915_private *dev_priv)
 	if (WARN_ON(!gvt))
 		return;
 
+	intel_gvt_destroy_idle_vgpu(gvt->idle_vgpu);
+
 	intel_gvt_debugfs_clean(gvt);
 	clean_service_thread(gvt);
 	intel_gvt_clean_cmd_parser(gvt);
@@ -335,8 +337,6 @@ void intel_gvt_clean_device(struct drm_i915_private *dev_priv)
 
 	idr_destroy(&gvt->vgpu_idr);
 
-	intel_gvt_destroy_idle_vgpu(gvt->idle_vgpu);
-
 	kfree(dev_priv->gvt);
 	dev_priv->gvt = NULL;
 }
--
2.7.4

_______________________________________________
intel-gvt-dev mailing list
intel-gvt-dev at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev


More information about the intel-gvt-dev mailing list