#define VIDEO_BLOCK     0x02
 #define VENDOR_BLOCK    0x03
 #define SPEAKER_BLOCK  0x04
-#define VIDEO_CAPABILITY_BLOCK 0x07
+#define USE_EXTENDED_TAG 0x07
+#define EXT_VIDEO_CAPABILITY_BLOCK 0x00
 #define EDID_BASIC_AUDIO       (1 << 6)
 #define EDID_CEA_YCRCB444      (1 << 5)
 #define EDID_CEA_YCRCB422      (1 << 4)
        return db[0] & 0x1f;
 }
 
+static int
+cea_db_extended_tag(const u8 *db)
+{
+       return db[1];
+}
+
 static int
 cea_db_tag(const u8 *db)
 {
                return false;
 
        for_each_cea_db(edid_ext, i, start, end) {
-               if (cea_db_tag(&edid_ext[i]) == VIDEO_CAPABILITY_BLOCK &&
-                   cea_db_payload_len(&edid_ext[i]) == 2) {
+               if (cea_db_tag(&edid_ext[i]) == USE_EXTENDED_TAG &&
+                   cea_db_payload_len(&edid_ext[i]) == 2 &&
+                   cea_db_extended_tag(&edid_ext[i]) ==
+                       EXT_VIDEO_CAPABILITY_BLOCK) {
                        DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", edid_ext[i + 2]);
                        return edid_ext[i + 2] & EDID_CEA_VCDB_QS;
                }