Commit 465263da authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Linus Torvalds

[PATCH] ide: PIO-out ->prehandler() fixes (CONFIG_IDE_TASKFILE_IO=y)

Setup handler and output first data block directly from ->prehandler()
instead of calling ->handler().  The only change in functionality is that
we no longer check DRIVE_READY status bits (there is no need to do it).
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent eb017a89
...@@ -698,7 +698,10 @@ ide_startstop_t pre_task_out_intr (ide_drive_t *drive, struct request *rq) ...@@ -698,7 +698,10 @@ ide_startstop_t pre_task_out_intr (ide_drive_t *drive, struct request *rq)
if (!drive->unmask) if (!drive->unmask)
local_irq_disable(); local_irq_disable();
return task_out_intr(drive); ide_set_handler(drive, &task_out_intr, WAIT_WORSTCASE, NULL);
task_sectors(drive, rq, 1, IDE_PIO_OUT);
return ide_started;
} }
EXPORT_SYMBOL(pre_task_out_intr); EXPORT_SYMBOL(pre_task_out_intr);
...@@ -762,7 +765,10 @@ ide_startstop_t pre_task_mulout_intr (ide_drive_t *drive, struct request *rq) ...@@ -762,7 +765,10 @@ ide_startstop_t pre_task_mulout_intr (ide_drive_t *drive, struct request *rq)
if (!drive->unmask) if (!drive->unmask)
local_irq_disable(); local_irq_disable();
return task_mulout_intr(drive); ide_set_handler(drive, &task_mulout_intr, WAIT_WORSTCASE, NULL);
task_multi_sectors(drive, rq, IDE_PIO_OUT);
return ide_started;
} }
EXPORT_SYMBOL(pre_task_mulout_intr); EXPORT_SYMBOL(pre_task_mulout_intr);
......
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