summaryrefslogtreecommitdiff
path: root/hw/esp.c
diff options
context:
space:
mode:
authorHervé Poussineau <hpoussin@reactos.org>2012-07-09 12:02:23 +0200
committerBlue Swirl <blauwirbel@gmail.com>2012-07-14 10:11:41 +0000
commit7246e160763306d254772353adb8e0836c3eac5b (patch)
tree18b2b654fc265e3c4122e1cb75b0c566c851ba24 /hw/esp.c
parent1b26eaa1382b333ef447ca27ff7ce166393cb46d (diff)
downloadqemu-7246e160763306d254772353adb8e0836c3eac5b.tar.gz
esp: delay Transfer Information command if dma is not enabled
The same mechanism is already in place for some select commands. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/esp.c')
-rw-r--r--hw/esp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/esp.c b/hw/esp.c
index aff8de6839..ac91f00351 100644
--- a/hw/esp.c
+++ b/hw/esp.c
@@ -435,6 +435,11 @@ static void handle_ti(ESPState *s)
{
uint32_t dmalen, minlen;
+ if (s->dma && !s->dma_enabled) {
+ s->dma_cb = handle_ti;
+ return;
+ }
+
dmalen = s->rregs[ESP_TCLO] | (s->rregs[ESP_TCMID] << 8);
if (dmalen==0) {
dmalen=0x10000;