diff options
Diffstat (limited to 'drivers/ide/ide-taskfile.c')
-rw-r--r-- | drivers/ide/ide-taskfile.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index f5cf04cf5712..329fd6f13f79 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -97,8 +97,7 @@ ide_startstop_t do_rw_taskfile(ide_drive_t *drive, struct ide_cmd *orig_cmd) | |||
97 | case ATA_PROT_NODATA: | 97 | case ATA_PROT_NODATA: |
98 | if (handler == NULL) | 98 | if (handler == NULL) |
99 | handler = task_no_data_intr; | 99 | handler = task_no_data_intr; |
100 | ide_execute_command(drive, tf->command, handler, | 100 | ide_execute_command(drive, cmd, handler, WAIT_WORSTCASE); |
101 | WAIT_WORSTCASE); | ||
102 | return ide_started; | 101 | return ide_started; |
103 | case ATA_PROT_DMA: | 102 | case ATA_PROT_DMA: |
104 | if ((drive->dev_flags & IDE_DFLAG_USING_DMA) == 0 || | 103 | if ((drive->dev_flags & IDE_DFLAG_USING_DMA) == 0 || |
@@ -106,8 +105,7 @@ ide_startstop_t do_rw_taskfile(ide_drive_t *drive, struct ide_cmd *orig_cmd) | |||
106 | dma_ops->dma_setup(drive, cmd)) | 105 | dma_ops->dma_setup(drive, cmd)) |
107 | return ide_stopped; | 106 | return ide_stopped; |
108 | hwif->expiry = dma_ops->dma_timer_expiry; | 107 | hwif->expiry = dma_ops->dma_timer_expiry; |
109 | ide_execute_command(drive, tf->command, ide_dma_intr, | 108 | ide_execute_command(drive, cmd, ide_dma_intr, 2 * WAIT_CMD); |
110 | 2 * WAIT_CMD); | ||
111 | dma_ops->dma_start(drive); | 109 | dma_ops->dma_start(drive); |
112 | default: | 110 | default: |
113 | return ide_started; | 111 | return ide_started; |