Hi Daniele,
@@ -909,6 +903,8 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) i915_ggtt_driver_late_release(i915); out_cleanup_mmio: i915_driver_mmio_release(i915); +out_tiles_cleanup: + intel_gt_release_all(i915);
We don't seem to call intel_gt_release_all() from driver_release(), so we might be leaking something there. I wanted to send a patch to add the call at the same place in the flow as in this error path, but then I noticed that i915_driver_late_release(), which we call a few lines below, calls intel_gt_driver_late_release_all(), which seems to expect that the GTs are still allocated, so we probably need to flip the order those are called in, or move the cleanup code from late_release() to late_release_all() (or vice versa). Andi, can you have a look at this?
well spotted! I will check it.
Ping! :)
Sorry for taking so long for replying. I'm on it, now.
Thank you, Andi