]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/xe/coredump: move over to devm
authorMatthew Auld <matthew.auld@intel.com>
Wed, 22 May 2024 10:21:54 +0000 (11:21 +0100)
committerMatthew Auld <matthew.auld@intel.com>
Wed, 22 May 2024 12:22:39 +0000 (13:22 +0100)
commitcf13ae6b81d5402ba93c46635dd46eb19ab49c4c
treecaac63b48bc8e9c582042c942d5ac404d6c09344
parentcee70645a7499e3a2731953db80124c9d5405d5f
drm/xe/coredump: move over to devm

Here we are using drmm to ensure we release the coredump when unloading
the module, however the coredump is very much tied to the struct device
underneath. We can see this when we hotunplug the device, for which we
have already got a coredump attached. In such a case the coredump still
remains and adding another is not possible. However we still register
the release action via xe_driver_devcoredump_fini(), so in effect two or
more releases for one dump.  The other consideration is that the
coredump state is embedded in the xe_driver instance, so technically
once the drmm release action fires we might free the coredumpe state
from a different driver instance, assuming we have two release actions
and they can race. Rather use devm here to remove the coredump when the
device is released.

References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1679
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240522102143.128069-29-matthew.auld@intel.com
drivers/gpu/drm/xe/xe_devcoredump.c