Commit 4cd5e56c authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Linus Torvalds

[PATCH] ide: end request fix for CONFIG_IDE_TASKFILE_IO=y PIO handlers

ide_end_drive_cmd() should only be called for "flagged" taskfiles
which have separate PIO handlers so use driver->end_request() instead.
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 85ba2733
...@@ -586,7 +586,7 @@ ide_startstop_t task_in_intr (ide_drive_t *drive) ...@@ -586,7 +586,7 @@ ide_startstop_t task_in_intr (ide_drive_t *drive)
return ide_stopped; return ide_stopped;
/* Complete rq->buffer based request (ioctls). */ /* Complete rq->buffer based request (ioctls). */
if (!rq->bio && !rq->nr_sectors) { if (!rq->bio && !rq->nr_sectors) {
ide_end_drive_cmd(drive, stat, HWIF(drive)->INB(IDE_ERROR_REG)); DRIVER(drive)->end_request(drive, 1, 0);
return ide_stopped; return ide_stopped;
} }
...@@ -637,7 +637,7 @@ ide_startstop_t task_mulin_intr (ide_drive_t *drive) ...@@ -637,7 +637,7 @@ ide_startstop_t task_mulin_intr (ide_drive_t *drive)
return ide_stopped; return ide_stopped;
/* Complete rq->buffer based request (ioctls). */ /* Complete rq->buffer based request (ioctls). */
if (!rq->bio && !rq->nr_sectors) { if (!rq->bio && !rq->nr_sectors) {
ide_end_drive_cmd(drive, stat, HWIF(drive)->INB(IDE_ERROR_REG)); DRIVER(drive)->end_request(drive, 1, 0);
return ide_stopped; return ide_stopped;
} }
...@@ -703,7 +703,7 @@ ide_startstop_t task_out_intr (ide_drive_t *drive) ...@@ -703,7 +703,7 @@ ide_startstop_t task_out_intr (ide_drive_t *drive)
return ide_stopped; return ide_stopped;
/* Complete rq->buffer based request (ioctls). */ /* Complete rq->buffer based request (ioctls). */
if (!rq->bio && !rq->nr_sectors) { if (!rq->bio && !rq->nr_sectors) {
ide_end_drive_cmd(drive, stat, HWIF(drive)->INB(IDE_ERROR_REG)); DRIVER(drive)->end_request(drive, 1, 0);
return ide_stopped; return ide_stopped;
} }
...@@ -772,7 +772,7 @@ ide_startstop_t task_mulout_intr (ide_drive_t *drive) ...@@ -772,7 +772,7 @@ ide_startstop_t task_mulout_intr (ide_drive_t *drive)
return ide_stopped; return ide_stopped;
/* Complete rq->buffer based request (ioctls). */ /* Complete rq->buffer based request (ioctls). */
if (!rq->bio && !rq->nr_sectors) { if (!rq->bio && !rq->nr_sectors) {
ide_end_drive_cmd(drive, stat, HWIF(drive)->INB(IDE_ERROR_REG)); DRIVER(drive)->end_request(drive, 1, 0);
return ide_stopped; return ide_stopped;
} }
......
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