ide: Set bus master inactive on error
BMIDEA in the status register must be cleared on error. This makes FreeBSD respond (more) correctly to I/O errors. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
This commit is contained in:
		
							parent
							
								
									8337606d35
								
							
						
					
					
						commit
						e3982b3cf6
					
				| 
						 | 
				
			
			@ -486,6 +486,8 @@ void ide_dma_error(IDEState *s)
 | 
			
		|||
    ide_transfer_stop(s);
 | 
			
		||||
    s->error = ABRT_ERR;
 | 
			
		||||
    s->status = READY_STAT | ERR_STAT;
 | 
			
		||||
    ide_dma_set_inactive(s->bus->bmdma);
 | 
			
		||||
    s->bus->bmdma->status |= BM_STATUS_INT;
 | 
			
		||||
    ide_set_irq(s->bus);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue