6.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Himal Prasad Ghimiray himal.prasad.ghimiray@intel.com
[ Upstream commit b15e65349553b1689d15fbdebea874ca5ae2274a ]
Assign 'xe_devcoredump_snapshot *' and 'xe_device *' only if 'coredump' is not NULL.
v2 - Fix commit messages.
v3 - Define variables before code.(Ashutosh/Jose)
v4 - Drop return check for coredump_to_xe. (Jose/Rodrigo)
v5 - Modify misleading commit message. (Matt)
Cc: Matt Roper matthew.d.roper@intel.com Cc: Ashutosh Dixit ashutosh.dixit@intel.com Cc: José Roberto de Souza jose.souza@intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Signed-off-by: Himal Prasad Ghimiray himal.prasad.ghimiray@intel.com Reviewed-by: Rodrigo Vivi rodrigo.vivi@intel.com Reviewed-by: José Roberto de Souza jose.souza@intel.com Link: https://patchwork.freedesktop.org/patch/msgid/20240328123739.3633428-1-himal... Signed-off-by: Rodrigo Vivi rodrigo.vivi@intel.com Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/gpu/drm/xe/xe_devcoredump.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c index 68d3d623a05bf..ccec291b02ccd 100644 --- a/drivers/gpu/drm/xe/xe_devcoredump.c +++ b/drivers/gpu/drm/xe/xe_devcoredump.c @@ -74,17 +74,19 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset, size_t count, void *data, size_t datalen) { struct xe_devcoredump *coredump = data; - struct xe_device *xe = coredump_to_xe(coredump); - struct xe_devcoredump_snapshot *ss = &coredump->snapshot; + struct xe_device *xe; + struct xe_devcoredump_snapshot *ss; struct drm_printer p; struct drm_print_iterator iter; struct timespec64 ts; int i;
- /* Our device is gone already... */ - if (!data || !coredump_to_xe(coredump)) + if (!coredump) return -ENODEV;
+ xe = coredump_to_xe(coredump); + ss = &coredump->snapshot; + /* Ensure delayed work is captured before continuing */ flush_work(&ss->work);