From d05d988e349d6a9a2dd2a41b7f9e5ef942643328 Mon Sep 17 00:00:00 2001 From: TC1995 Date: Wed, 30 Nov 2022 16:01:33 +0100 Subject: [PATCH] IDE/ATAPI: Don't overwrite data in packet writes during Phase Data In. Fixes Solaris 2.6 CD installation on ide/atapi. --- src/disk/hdc_ide.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/disk/hdc_ide.c b/src/disk/hdc_ide.c index a306c5288..2f544cfb9 100644 --- a/src/disk/hdc_ide.c +++ b/src/disk/hdc_ide.c @@ -1150,6 +1150,9 @@ ide_atapi_packet_write(ide_t *ide, uint32_t val, int length) bufferw = (uint16_t *) bufferb; bufferl = (uint32_t *) bufferb; + if (dev->packet_status == PHASE_DATA_IN) + return; + switch (length) { case 1: bufferb[dev->pos] = val & 0xff;