Commit f65fb10982229b15702dc5f1e675cf30a14ca11a

Authored by balrog
1 parent b1314cf9

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
Showing 1 changed file with 3 additions and 2 deletions
hw/omap.c
... ... @@ -583,12 +583,13 @@ static void omap_dma_deactivate_channel(struct omap_dma_s *s,
583 583 if (ch->pending_request && !ch->waiting_end_prog) {
584 584 /* Don't deactivate the channel */
585 585 ch->pending_request = 0;
586   - return;
  586 + if (ch->enable)
  587 + return;
587 588 }
588 589  
589 590 /* Don't deactive the channel if it is synchronized and the DMA request is
590 591 active */
591   - if (ch->sync && (s->drq & (1 << ch->sync)))
  592 + if (ch->sync && (s->drq & (1 << ch->sync)) && ch->enable)
592 593 return;
593 594  
594 595 if (ch->active) {
... ...