Răsfoiți Sursa

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 3 ani în urmă
părinte
comite
7fa611f44f
1 a modificat fișierele cu 5 adăugiri și 4 ștergeri
  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;
 }