From bc70b830f9cbe939c9688292a13e6351d0ca16ff Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 27 Mar 2020 19:50:14 +0000 Subject: [PATCH] Implement VERIFY(6/10/12) without data for magneto-optical disks. --- src/devices/disk/mo.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/devices/disk/mo.c b/src/devices/disk/mo.c index 7b14c5d..1e7142c 100644 --- a/src/devices/disk/mo.c +++ b/src/devices/disk/mo.c @@ -1407,12 +1407,23 @@ do_command(void *p, uint8_t *cdb) case GPCMD_VERIFY_6: case GPCMD_VERIFY_10: case GPCMD_VERIFY_12: - if (! (cdb[1] & 2)) { + // Data and blank verification cannot be set at the same time + if((cdb[1] & 2) && (cdb[1] & 4)) + { + invalid_field(dev); + return; + } + + if (! (cdb[1] & 2) || (cdb[1] & 4)) { set_phase(dev, SCSI_PHASE_STATUS); command_complete(dev); break; } + // TODO: Implement + invalid_field(dev); + return; + case GPCMD_WRITE_6: case GPCMD_WRITE_10: case GPCMD_WRITE_AND_VERIFY_10: