IDE/ATAPI: Don't overwrite data in packet writes during Phase Data In. Fixes Solaris 2.6 CD installation on ide/atapi.

This commit is contained in:
TC1995
2022-11-30 16:01:33 +01:00
parent 9b73f1aa92
commit d05d988e34

View File

@@ -1150,6 +1150,9 @@ ide_atapi_packet_write(ide_t *ide, uint32_t val, int length)
bufferw = (uint16_t *) bufferb; bufferw = (uint16_t *) bufferb;
bufferl = (uint32_t *) bufferb; bufferl = (uint32_t *) bufferb;
if (dev->packet_status == PHASE_DATA_IN)
return;
switch (length) { switch (length) {
case 1: case 1:
bufferb[dev->pos] = val & 0xff; bufferb[dev->pos] = val & 0xff;