diff --git a/src/cdrom/cdrom.c b/src/cdrom/cdrom.c index 3b7eaeb3f..52ea97972 100644 --- a/src/cdrom/cdrom.c +++ b/src/cdrom/cdrom.c @@ -1469,8 +1469,10 @@ cdrom_seek(cdrom_t *dev, const uint32_t pos, const uint8_t vendor_type) break; } - dev->seek_pos = real_pos; cdrom_stop(dev); + + dev->seek_pos = real_pos; + dev->cached_sector = -1; } int diff --git a/src/scsi/scsi_cdrom.c b/src/scsi/scsi_cdrom.c index f5b81e369..ca5d237b9 100644 --- a/src/scsi/scsi_cdrom.c +++ b/src/scsi/scsi_cdrom.c @@ -2494,7 +2494,6 @@ scsi_cdrom_command(scsi_common_t *sc, const uint8_t *cdb) dev->drv->seek_diff = dev->drv->seek_pos; cdrom_seek(dev->drv, 0, 0); dev->sector_pos = dev->drv->seek_pos; - dev->drv->cached_sector = -1; scsi_cdrom_set_phase(dev, SCSI_PHASE_STATUS); break; @@ -3557,8 +3556,7 @@ atapi_out: else cdrom_seek(dev->drv, pos, 0); - dev->sector_pos = dev->drv->seek_pos; - dev->drv->cached_sector = -1; + dev->sector_pos = dev->drv->seek_pos; scsi_cdrom_command_complete(dev); break;