diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-19 18:32:37 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-19 18:32:37 -0400 |
commit | dd35b7bb86c1ae6adddf68db71481144941246d1 (patch) | |
tree | 5ca439c8f2f9cfabefb0951fdd8e3e0a61ad2c85 /drivers/ide/ide-taskfile.c | |
parent | d3bad45f0232e273cce9237d66c98aafe12c0b0e (diff) |
ide: check ->dma_setup() return value in flagged_taskfile()
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-taskfile.c')
-rw-r--r-- | drivers/ide/ide-taskfile.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 24c6c3f5e208..6812f4788789 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -837,9 +837,11 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
837 | case TASKFILE_OUT_DMA: | 837 | case TASKFILE_OUT_DMA: |
838 | case TASKFILE_IN_DMAQ: | 838 | case TASKFILE_IN_DMAQ: |
839 | case TASKFILE_IN_DMA: | 839 | case TASKFILE_IN_DMA: |
840 | hwif->dma_setup(drive); | 840 | if (!hwif->dma_setup(drive)) { |
841 | hwif->dma_exec_cmd(drive, taskfile->command); | 841 | hwif->dma_exec_cmd(drive, taskfile->command); |
842 | hwif->dma_start(drive); | 842 | hwif->dma_start(drive); |
843 | return ide_started; | ||
844 | } | ||
843 | break; | 845 | break; |
844 | 846 | ||
845 | default: | 847 | default: |
@@ -853,7 +855,8 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
853 | return task->prehandler(drive, task->rq); | 855 | return task->prehandler(drive, task->rq); |
854 | } | 856 | } |
855 | ide_execute_command(drive, taskfile->command, task->handler, WAIT_WORSTCASE, NULL); | 857 | ide_execute_command(drive, taskfile->command, task->handler, WAIT_WORSTCASE, NULL); |
858 | return ide_started; | ||
856 | } | 859 | } |
857 | 860 | ||
858 | return ide_started; | 861 | return ide_stopped; |
859 | } | 862 | } |