diff options
author | Shuicheng Lin <shuicheng.lin@intel.com> | 2025-09-25 02:31:46 +0000 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@intel.com> | 2025-10-03 14:17:00 -0500 |
commit | 08fdfd260e641da203f80aff8d3ed19c5ecceb7d (patch) | |
tree | 716f429b2131151821477b8529966d9c09ac7126 /drivers/infiniband/hw/ionic/ionic_datapath.c | |
parent | 2d1684a077d62fddfac074052c162ec6573a34e1 (diff) |
drm/xe/hw_engine_group: Fix double write lock release in error path
In xe_hw_engine_group_get_mode(), a write lock is acquired before
calling switch_mode(), which in turn invokes
xe_hw_engine_group_suspend_faulting_lr_jobs().
On failure inside xe_hw_engine_group_suspend_faulting_lr_jobs(),
the write lock is released there, and then again in
xe_hw_engine_group_get_mode(), leading to a double release.
Fix this by keeping both acquire and release operation in
xe_hw_engine_group_get_mode().
Fixes: 770bd1d34113 ("drm/xe/hw_engine_group: Ensure safe transition between execution modes")
Cc: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Francois Dugast <francois.dugast@intel.com>
Link: https://lore.kernel.org/r/20250925023145.1203004-2-shuicheng.lin@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit 662d98b8b373007fa1b08ba93fee11f6fd3e387c)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Diffstat (limited to 'drivers/infiniband/hw/ionic/ionic_datapath.c')
0 files changed, 0 insertions, 0 deletions