Don't send ATA error reports when cdrom not ready.
authorKevin O'Connor <kevin@koconnor.net>
Wed, 6 May 2009 01:47:20 +0000 (21:47 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Wed, 6 May 2009 01:47:20 +0000 (21:47 -0400)
Based on patch from Stefan Reinauer.

src/ata.c

index 556c0bf0fc4055c9a82e92c6c85946fe320c8bfc..4b329d2bcfdae81df0502f5ff0d903bfc0e5ddb5 100644 (file)
--- a/src/ata.c
+++ b/src/ata.c
@@ -422,8 +422,11 @@ send_atapi_cmd(int driveid, u8 *cmdbuf, u8 cmdlen, u16 blocksize)
         return status;
 
     if (status & ATA_CB_STAT_ERR) {
-        dprintf(6, "send_atapi_cmd : read error (status=%02x err=%02x)\n"
-                , status, inb(iobase1 + ATA_CB_ERR));
+        u8 err = inb(iobase1 + ATA_CB_ERR);
+        // skip "Not Ready"
+        if (err != 0x20)
+            dprintf(6, "send_atapi_cmd : read error (status=%02x err=%02x)\n"
+                    , status, err);
         return -2;
     }
     if (!(status & ATA_CB_STAT_DRQ)) {