Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2] drm/xe: Access port only after lock acquired
@ 2024-06-04 10:45 Tejas Upadhyay
  2024-06-05  0:20 ` ✓ CI.Patch_applied: success for drm/xe: Access port only after lock acquired (rev2) Patchwork
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Tejas Upadhyay @ 2024-06-04 10:45 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray, Tejas Upadhyay

Currently, port is accessed before lock of port is acquired.
As followed at other places, lets acquire lock before accessing
for even better sync up.

V2:
  - Add port->active check under lock

Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
---
 drivers/gpu/drm/xe/xe_execlist.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execlist.c
index db906117db6d..fcbc3bac1ebe 100644
--- a/drivers/gpu/drm/xe/xe_execlist.c
+++ b/drivers/gpu/drm/xe/xe_execlist.c
@@ -210,15 +210,16 @@ static void xe_execlist_port_wake_locked(struct xe_execlist_port *port,
 
 static void xe_execlist_make_active(struct xe_execlist_exec_queue *exl)
 {
-	struct xe_execlist_port *port = exl->port;
+	struct xe_execlist_port *port;
 	enum xe_exec_queue_priority priority = exl->q->sched_props.priority;
 
 	XE_WARN_ON(priority == XE_EXEC_QUEUE_PRIORITY_UNSET);
 	XE_WARN_ON(priority < 0);
-	XE_WARN_ON(priority >= ARRAY_SIZE(exl->port->active));
 
-	spin_lock_irq(&port->lock);
+	spin_lock_irq(&exl->port->lock);
 
+	XE_WARN_ON(priority >= ARRAY_SIZE(exl->port->active));
+	port = exl->port;
 	if (exl->active_priority != priority &&
 	    exl->active_priority != XE_EXEC_QUEUE_PRIORITY_UNSET) {
 		/* Priority changed, move it to the right list */
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-06-05  9:45 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-04 10:45 [PATCH V2] drm/xe: Access port only after lock acquired Tejas Upadhyay
2024-06-05  0:20 ` ✓ CI.Patch_applied: success for drm/xe: Access port only after lock acquired (rev2) Patchwork
2024-06-05  0:20 ` ✓ CI.checkpatch: " Patchwork
2024-06-05  0:21 ` ✓ CI.KUnit: " Patchwork
2024-06-05  0:32 ` ✓ CI.Build: " Patchwork
2024-06-05  0:33 ` ✗ CI.Hooks: failure " Patchwork
2024-06-05  0:34 ` ✓ CI.checksparse: success " Patchwork
2024-06-05  1:01 ` ✓ CI.BAT: " Patchwork
2024-06-05  8:43 ` [PATCH V2] drm/xe: Access port only after lock acquired Nirmoy Das
2024-06-05  9:44   ` Upadhyay, Tejas
2024-06-05  9:19 ` ✗ CI.FULL: failure for drm/xe: Access port only after lock acquired (rev2) Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox