From f65fb10982229b15702dc5f1e675cf30a14ca11a Mon Sep 17 00:00:00 2001 From: balrog Date: Sat, 23 Feb 2008 02:08:35 +0000 Subject: [PATCH] Really stop the transfer when the DMA channel is being disabled. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3987 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/omap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/omap.c b/hw/omap.c index ee426dc0d1..854198e090 100644 --- a/hw/omap.c +++ b/hw/omap.c @@ -583,12 +583,13 @@ static void omap_dma_deactivate_channel(struct omap_dma_s *s, if (ch->pending_request && !ch->waiting_end_prog) { /* Don't deactivate the channel */ ch->pending_request = 0; - return; + if (ch->enable) + return; } /* Don't deactive the channel if it is synchronized and the DMA request is active */ - if (ch->sync && (s->drq & (1 << ch->sync))) + if (ch->sync && (s->drq & (1 << ch->sync)) && ch->enable) return; if (ch->active) { -- 2.11.0