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:
@@ -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;
|
||||||
|
Reference in New Issue
Block a user