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