Commit b0fd76e2 authored by Tejun Heo's avatar Tejun Heo Committed by Bartlomiej Zolnierkiewicz

[ide] __ide_do_rw_disk() return value fix

In __ide_do_rw_disk(), ide_started used to be returned blindly
after issusing PIO write.  This can cause hang if
pre_task_out_intr() returns ide_stopped due to failed
ide_wait_stat() test.  Fixed to pass the return value of
pre_task_out_intr().
Signed-off-by: default avatarTejun Heo <tj@home-tj.org>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 9db16ca0
...@@ -253,8 +253,7 @@ ide_startstop_t __ide_do_rw_disk (ide_drive_t *drive, struct request *rq, sector ...@@ -253,8 +253,7 @@ ide_startstop_t __ide_do_rw_disk (ide_drive_t *drive, struct request *rq, sector
/* FIXME: ->OUTBSYNC ? */ /* FIXME: ->OUTBSYNC ? */
hwif->OUTB(command, IDE_COMMAND_REG); hwif->OUTB(command, IDE_COMMAND_REG);
pre_task_out_intr(drive, rq); return pre_task_out_intr(drive, rq);
return ide_started;
} }
} }
EXPORT_SYMBOL_GPL(__ide_do_rw_disk); EXPORT_SYMBOL_GPL(__ide_do_rw_disk);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment