DragonFlyBSD Kernel Audit
DF-2022 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/amdgpu/mxgpu_ai.c b/sys/dev/drm/amd/amdgpu/mxgpu_ai.c
--- a/sys/dev/drm/amd/amdgpu/mxgpu_ai.c
+++ b/sys/dev/drm/amd/amdgpu/mxgpu_ai.c
@@ -125,14 +125,16 @@
 	 * which lead to VF's TRN_MSG_ACK cleared, otherwise below xgpu_ai_poll_ack()
 	 * will return immediatly
 	 */
+	r = AI_MAILBOX_POLL_ACK_TIMEDOUT;
 	do {
 		xgpu_ai_mailbox_set_valid(adev, false);
 		trn = xgpu_ai_peek_ack(adev);
 		if (trn) {
 			pr_err("trn=%x ACK should not assert! wait again !\n", trn);
 			msleep(1);
+			r--;
 		}
-	} while(trn);
+	} while(trn && r > 0);
 
 	reg = RREG32_NO_KIQ(SOC15_REG_OFFSET(NBIO, 0,
 					     mmBIF_BX_PF0_MAILBOX_MSGBUF_TRN_DW0));