--- hw/fdc.c Sat Apr 14 13:01:32 2007 +++ hw/fdc.c Wed May 16 17:14:54 2007 @@ -917,7 +920,10 @@ fdctrl->fifo[6] = FD_SECTOR_SC; fdctrl->data_dir = FD_DIR_READ; if (fdctrl->state & FD_CTRL_BUSY) { - DMA_release_DREQ(fdctrl->dma_chann); + if (fdctrl->dma_en) { + DMA_release_DREQ(fdctrl->dma_chann); + DMA_set_TC(fdctrl->dma_chann); + } fdctrl->state &= ~FD_CTRL_BUSY; } fdctrl_set_fifo(fdctrl, 7, 1);