⬢ DragonFlyBSD Kernel Audit
DF-4612 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/display/dc/bios/command_table2.c b/sys/dev/drm/amd/display/dc/bios/command_table2.c
index 1111111..2222222 100644
--- a/sys/dev/drm/amd/display/dc/bios/command_table2.c
+++ b/sys/dev/drm/amd/display/dc/bios/command_table2.c
@@ -175,10 +175,12 @@ static enum bp_result transmitter_control_v1_6(
 static void init_transmitter_control(struct bios_parser *bp)
 {
 	uint8_t frev;
-	uint8_t crev;
+	uint8_t crev = 0;
 
 	if (BIOS_CMD_TABLE_REVISION(dig1transmittercontrol, frev, crev) == false)
-		BREAK_TO_DEBUGGER();
+		BREAK_TO_DEBUGGER();
+
+	/* crev stays 0 (unknown) when the header could not be parsed */
 	switch (crev) {
 	case 6:
 		bp->cmd_tbl.transmitter_control = transmitter_control_v1_6;