]> git.proxmox.com Git - qemu.git/blobdiff - hw/ide/core.c
ide: Fix ATA command READ to set ATAPI signature for CD-ROM
[qemu.git] / hw / ide / core.c
index 1806e008bc66c0b5544ab2237e12224b3410fbcd..def01266d0efb71926f1c21ab8751f01c99116c0 100644 (file)
@@ -983,8 +983,10 @@ void ide_exec_cmd(IDEBus *bus, uint32_t val)
        lba48 = 1;
     case WIN_READ:
     case WIN_READ_ONCE:
-        if (!s->bs)
+        if (s->drive_kind == IDE_CD) {
+            ide_set_signature(s); /* odd, but ATA4 8.27.5.2 requires it */
             goto abort_cmd;
+        }
        ide_cmd_lba48_transform(s, lba48);
         s->req_nb_sectors = 1;
         ide_sector_read(s);