ide: do not use BMDMA in restart callback
Whenever an error stops the VM, ide_handle_rw_error does "s->bus->dma->unit = s->unit". So we can just use idebus_active_if. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> Message-id: 1424708286-16483-5-git-send-email-jsnow@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									f878c91607
								
							
						
					
					
						commit
						2745df813d
					
				| 
						 | 
				
			
			@ -217,17 +217,17 @@ static void bmdma_restart_bh(void *opaque)
 | 
			
		|||
    qemu_bh_delete(bm->bh);
 | 
			
		||||
    bm->bh = NULL;
 | 
			
		||||
 | 
			
		||||
    if (bm->unit == (uint8_t) -1) {
 | 
			
		||||
    error_status = bus->error_status;
 | 
			
		||||
    if (bus->error_status == 0) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    s = bmdma_active_if(bm);
 | 
			
		||||
    s = idebus_active_if(bus);
 | 
			
		||||
    is_read = (bus->error_status & IDE_RETRY_READ) != 0;
 | 
			
		||||
 | 
			
		||||
    /* The error status must be cleared before resubmitting the request: The
 | 
			
		||||
     * request may fail again, and this case can only be distinguished if the
 | 
			
		||||
     * called function can set a new error status. */
 | 
			
		||||
    error_status = bus->error_status;
 | 
			
		||||
    bus->error_status = 0;
 | 
			
		||||
 | 
			
		||||
    if (error_status & IDE_RETRY_DMA) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue