--- qemu/roms/seabios/src/ata.c 2018/04/24 19:24:10 1.1.1.6 +++ qemu/roms/seabios/src/ata.c 2018/04/24 19:43:52 1.1.1.7 @@ -645,13 +645,15 @@ atapi_cmd_data(struct disk_op_s *op, voi ret = -2; goto fail; } - if (!(status & ATA_CB_STAT_DRQ)) { - dprintf(6, "send_atapi_cmd : DRQ not set (status %02x)\n", status); - ret = -3; - goto fail; - } + if (blocksize) { + if (!(status & ATA_CB_STAT_DRQ)) { + dprintf(6, "send_atapi_cmd : DRQ not set (status %02x)\n", status); + ret = -3; + goto fail; + } - ret = ata_pio_transfer(op, 0, blocksize); + ret = ata_pio_transfer(op, 0, blocksize); + } fail: // Enable interrupts