|  | @@ -179,12 +179,6 @@ static void floppy_flux_end(void)
 | 
	
		
			
				|  |  |      write_pin(wgate, FALSE);
 | 
	
		
			
				|  |  |      configure_pin(wdata, GPO_bus);    
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /* Turn off DMA. */
 | 
	
		
			
				|  |  | -    dma_rdata.cr &= ~DMA_CR_EN;
 | 
	
		
			
				|  |  | -    dma_wdata.cr &= ~DMA_CR_EN;
 | 
	
		
			
				|  |  | -    while ((dma_rdata.cr & DMA_CR_EN) || (dma_wdata.cr & DMA_CR_EN))
 | 
	
		
			
				|  |  | -        continue;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      /* Turn off timers. */
 | 
	
		
			
				|  |  |      tim_rdata->ccer = 0;
 | 
	
		
			
				|  |  |      tim_rdata->cr1 = 0;
 | 
	
	
		
			
				|  | @@ -192,6 +186,12 @@ static void floppy_flux_end(void)
 | 
	
		
			
				|  |  |      tim_wdata->ccer = 0;
 | 
	
		
			
				|  |  |      tim_wdata->cr1 = 0;
 | 
	
		
			
				|  |  |      tim_wdata->sr = 0; /* dummy, drains any pending DMA */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /* Turn off DMA. */
 | 
	
		
			
				|  |  | +    dma_rdata.cr &= ~DMA_CR_EN;
 | 
	
		
			
				|  |  | +    dma_wdata.cr &= ~DMA_CR_EN;
 | 
	
		
			
				|  |  | +    while ((dma_rdata.cr & DMA_CR_EN) || (dma_wdata.cr & DMA_CR_EN))
 | 
	
		
			
				|  |  | +        continue;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  static void floppy_reset(void)
 | 
	
	
		
			
				|  | @@ -370,8 +370,6 @@ static uint8_t floppy_read_prep(struct gw_read_flux *rf)
 | 
	
		
			
				|  |  |      dma_rdata.mar = (uint32_t)(unsigned long)dma.buf;
 | 
	
		
			
				|  |  |      dma_rdata.ndtr = ARRAY_SIZE(dma.buf);    
 | 
	
		
			
				|  |  |      rdata_prep();
 | 
	
		
			
				|  |  | -    tim_rdata->egr = TIM_EGR_UG; /* update CNT, PSC, ARR */
 | 
	
		
			
				|  |  | -    tim_rdata->sr = 0; /* dummy write */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /* DMA soft state. */
 | 
	
		
			
				|  |  |      dma.cons = 0;
 |