diff options
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r-- | drivers/ide/ide.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 54943da6e4e5..c6d4f630e18a 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -424,7 +424,6 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) | |||
424 | hwif->reset_poll = tmp_hwif->reset_poll; | 424 | hwif->reset_poll = tmp_hwif->reset_poll; |
425 | hwif->pre_reset = tmp_hwif->pre_reset; | 425 | hwif->pre_reset = tmp_hwif->pre_reset; |
426 | hwif->resetproc = tmp_hwif->resetproc; | 426 | hwif->resetproc = tmp_hwif->resetproc; |
427 | hwif->intrproc = tmp_hwif->intrproc; | ||
428 | hwif->maskproc = tmp_hwif->maskproc; | 427 | hwif->maskproc = tmp_hwif->maskproc; |
429 | hwif->quirkproc = tmp_hwif->quirkproc; | 428 | hwif->quirkproc = tmp_hwif->quirkproc; |
430 | hwif->busproc = tmp_hwif->busproc; | 429 | hwif->busproc = tmp_hwif->busproc; |
@@ -468,7 +467,6 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) | |||
468 | #endif | 467 | #endif |
469 | 468 | ||
470 | hwif->dma_base = tmp_hwif->dma_base; | 469 | hwif->dma_base = tmp_hwif->dma_base; |
471 | hwif->dma_master = tmp_hwif->dma_master; | ||
472 | hwif->dma_command = tmp_hwif->dma_command; | 470 | hwif->dma_command = tmp_hwif->dma_command; |
473 | hwif->dma_vendor1 = tmp_hwif->dma_vendor1; | 471 | hwif->dma_vendor1 = tmp_hwif->dma_vendor1; |
474 | hwif->dma_status = tmp_hwif->dma_status; | 472 | hwif->dma_status = tmp_hwif->dma_status; |
@@ -602,7 +600,6 @@ void ide_unregister(unsigned int index) | |||
602 | (void) ide_release_dma(hwif); | 600 | (void) ide_release_dma(hwif); |
603 | 601 | ||
604 | hwif->dma_base = 0; | 602 | hwif->dma_base = 0; |
605 | hwif->dma_master = 0; | ||
606 | hwif->dma_command = 0; | 603 | hwif->dma_command = 0; |
607 | hwif->dma_vendor1 = 0; | 604 | hwif->dma_vendor1 = 0; |
608 | hwif->dma_status = 0; | 605 | hwif->dma_status = 0; |
@@ -854,8 +851,7 @@ int set_using_dma(ide_drive_t *drive, int arg) | |||
854 | err = 0; | 851 | err = 0; |
855 | 852 | ||
856 | if (arg) { | 853 | if (arg) { |
857 | hwif->dma_off_quietly(drive); | 854 | if (ide_set_dma(drive)) |
858 | if (ide_set_dma(drive) || hwif->ide_dma_on(drive)) | ||
859 | err = -EIO; | 855 | err = -EIO; |
860 | } else | 856 | } else |
861 | ide_dma_off(drive); | 857 | ide_dma_off(drive); |