Commit 58a2c43689f0247371577373e96db4eb6a3abe39

Authored by blueswir1
1 parent ed6a9b30

Misc scsi disk/cdrom fixes/improvements 4/4

Implement Test Unit Ready command (return NOT READY as above
if !bdrv_is_inserted(...))

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6954 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 3 additions and 0 deletions
hw/scsi-disk.c
@@ -417,6 +417,8 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t tag, @@ -417,6 +417,8 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t tag,
417 switch (command) { 417 switch (command) {
418 case 0x0: 418 case 0x0:
419 DPRINTF("Test Unit Ready\n"); 419 DPRINTF("Test Unit Ready\n");
  420 + if (!bdrv_is_inserted(s->bdrv))
  421 + goto notready;
420 break; 422 break;
421 case 0x03: 423 case 0x03:
422 DPRINTF("Request Sense (len %d)\n", len); 424 DPRINTF("Request Sense (len %d)\n", len);
@@ -766,6 +768,7 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t tag, @@ -766,6 +768,7 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t tag,
766 outbuf[7] = 0; 768 outbuf[7] = 0;
767 r->buf_len = 8; 769 r->buf_len = 8;
768 } else { 770 } else {
  771 + notready:
769 scsi_command_complete(r, STATUS_CHECK_CONDITION, SENSE_NOT_READY); 772 scsi_command_complete(r, STATUS_CHECK_CONDITION, SENSE_NOT_READY);
770 return 0; 773 return 0;
771 } 774 }