summaryrefslogtreecommitdiffstats
path: root/tools/ddcprobe/vbe.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ddcprobe/vbe.c')
-rw-r--r--tools/ddcprobe/vbe.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/ddcprobe/vbe.c b/tools/ddcprobe/vbe.c
index bee57c5dc..7a5633c7e 100644
--- a/tools/ddcprobe/vbe.c
+++ b/tools/ddcprobe/vbe.c
@@ -224,7 +224,7 @@ struct vbe_edid1_info *vbe_get_edid_info()
return ret;
#endif
#if KERNEL_BOOT_INFO
- int edid_fd;
+ int i, invalid, edid_fd;
struct vbe_edid1_info *ret = NULL;
ret = malloc(sizeof(struct vbe_edid1_info));
@@ -239,6 +239,13 @@ struct vbe_edid1_info *vbe_get_edid_info()
close(edid_fd);
+ /* Check that kernel could actually get something useful. */
+ invalid = 1;
+ for (i = 0; invalid && i < 8; i++)
+ invalid = invalid && (ret->header[i] == EDID_INVALID);
+ if (invalid)
+ return NULL;
+
return ret;
#endif
return NULL;