projects
/
sdk
/
emulator
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c000997
)
Fix bugs in the ATAPI cdrom driver, by Brandon Philips.
author
ths
<ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 19 Aug 2007 21:46:53 +0000
(21:46 +0000)
committer
ths
<ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 19 Aug 2007 21:46:53 +0000
(21:46 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3124
c046a42c
-6fe2-441c-8c8c-
71466251a162
hw/ide.c
patch
|
blob
|
history
diff --git
a/hw/ide.c
b/hw/ide.c
index 9acb02a85e2c9aed319c4c8d3cde9f1510978477..e84c4d67f95bb113083c0ee889bac2b0a5c39aae 100644
(file)
--- a/
hw/ide.c
+++ b/
hw/ide.c
@@
-671,7
+671,8
@@
static void ide_transfer_start(IDEState *s, uint8_t *buf, int size,
s->end_transfer_func = end_transfer_func;
s->data_ptr = buf;
s->data_end = buf + size;
- s->status |= DRQ_STAT;
+ if (!(s->status & ERR_STAT))
+ s->status |= DRQ_STAT;
}
static void ide_transfer_stop(IDEState *s)
@@
-1969,6
+1970,7
@@
static void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
/* overlapping commands not supported */
if (s->feature & 0x02)
goto abort_cmd;
+ s->status = READY_STAT;
s->atapi_dma = s->feature & 1;
s->nsector = 1;
ide_transfer_start(s, s->io_buffer, ATAPI_PACKET_SIZE,