From f94a924be9564382207488c8070ec81a601d1849 Mon Sep 17 00:00:00 2001
From: Brad Parker <cbparker@gmail.com>
Date: Mon, 8 Jul 2019 23:46:42 -0400
Subject: [PATCH] cdrom: skip retries for ATIP read if command fails

---
 libretro-common/cdrom/cdrom.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libretro-common/cdrom/cdrom.c b/libretro-common/cdrom/cdrom.c
index 75c9c75021..84af439383 100644
--- a/libretro-common/cdrom/cdrom.c
+++ b/libretro-common/cdrom/cdrom.c
@@ -391,8 +391,9 @@ retry:
    {
       cdrom_print_sense_data(sense, sizeof(sense));
 
-      /* INQUIRY/TEST should never fail, don't retry */
-      if (cmd[0] != 0x0 && cmd[0] != 0x12)
+      /* INQUIRY/TEST should never fail, don't retry. */
+      /* READ ATIP seems to fail outright on some drives (BW-16D1HT) with pressed discs, skip retries. */
+      if (cmd[0] != 0x0 && cmd[0] != 0x12 && !(cmd[0] == 0x43 && cmd[2] == 0x4))
       {
          unsigned char key = sense[2] & 0xF;