⬢ DragonFlyBSD Kernel Audit
DF-5132 / fix.diff
← back to finding ↓ download raw
diff -ruN a/sys/dev/drm/amd/amdgpu/kv_smc.c b/sys/dev/drm/amd/amdgpu/kv_smc.c
--- a/sys/dev/drm/amd/amdgpu/kv_smc.c	2026-09-30 04:52:04.292972077 +0000
+++ b/sys/dev/drm/amd/amdgpu/kv_smc.c	2026-09-30 04:52:09.468905563 +0000
@@ -44,11 +44,10 @@
 	}
 	tmp = RREG32(mmSMC_RESP_0) & SMC_RESP_0__SMC_RESP_MASK;
 
-	if (tmp != 1) {
-		if (tmp == 0xFF)
-			return -EINVAL;
-		else if (tmp == 0xFE)
-			return -EINVAL;
+	if (tmp != PPSMC_Result_OK) {
+		dev_err(adev->dev, "SMC failed to handle message 0x%x (response 0x%x)\n",
+			id & SMC_MESSAGE_0__SMC_MSG_MASK, tmp);
+		return -EINVAL;
 	}
 
 	return 0;