Parcourir la source

disp: msm: sde: correct the sde vm release sequence

IRQ release needs to be done before mem release as
there can be cases in current implementation where
irq can come just after mem release casuing register
access abort.

Change-Id: If35eef9ae01d5bd3d270aba0bf4f2b8753254a15
Signed-off-by: Raviteja Tamatam <[email protected]>
Raviteja Tamatam il y a 3 ans
Parent
commit
7fa611f44f
1 fichiers modifiés avec 5 ajouts et 4 suppressions
  1. 5 4
      msm/sde/sde_vm_trusted.c

+ 5 - 4
msm/sde/sde_vm_trusted.c

@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
  */
 
@@ -177,16 +178,16 @@ static int _sde_vm_release(struct sde_kms *kms)
 
 	sde_kms_vm_trusted_resource_deinit(kms);
 
+	rc = _sde_vm_release_irq(kms->vm);
+	if (rc)
+		SDE_ERROR("irq_release failed, rc = %d\n", rc);
+
 	rc = _sde_vm_release_mem(kms->vm);
 	if (rc) {
 		SDE_ERROR("mem_release failed, rc = %d\n", rc);
 		goto end;
 	}
 
-	rc = _sde_vm_release_irq(kms->vm);
-	if (rc)
-		SDE_ERROR("irq_release failed, rc = %d\n", rc);
-
 end:
 	return rc;
 }