scsi-disk: removable hard disks support load/eject
Support for the LOEJ bit of the START/STOP UNIT command right now is limited to CD-ROMs. This is wrong, since removable hard disks (in the real world: SD card readers) also support it in pretty much the same way. Without the LOEJ bit, START/STOP UNIT does nothing for all devices. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6a8a685c4d
commit
b456a71c4a
@ -1248,7 +1248,7 @@ static int scsi_disk_emulate_start_stop(SCSIDiskReq *r)
|
||||
bool start = req->cmd.buf[4] & 1;
|
||||
bool loej = req->cmd.buf[4] & 2; /* load on start, eject on !start */
|
||||
|
||||
if (s->qdev.type == TYPE_ROM && loej) {
|
||||
if ((s->features & (1 << SCSI_DISK_F_REMOVABLE)) && loej) {
|
||||
if (!start && !s->tray_open && s->tray_locked) {
|
||||
scsi_check_condition(r,
|
||||
bdrv_is_inserted(s->qdev.conf.bs)
|
||||
|
Loading…
Reference in New Issue
Block a user