summaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-26 20:13:10 +0100
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-26 20:13:10 +0100
commit3687221f28058c40e2c57a286decd0caeac67382 (patch)
tree999375245bdb58760d5c94a5457c5697523b2c66 /drivers/ide
parent73d7de0c818639cf74a32ce3b13a33021414749c (diff)
downloadlinux-3687221f28058c40e2c57a286decd0caeac67382.tar.bz2
ide-tape: fix handling of non-special requests in ->end_request method
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/ide-tape.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 3cbca3f4628a..d71a584f0765 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -1690,6 +1690,11 @@ static int idetape_end_request(ide_drive_t *drive, int uptodate, int nr_sects)
if (error)
tape->failed_pc = NULL;
+ if (!blk_special_request(rq)) {
+ ide_end_request(drive, uptodate, nr_sects);
+ return 0;
+ }
+
spin_lock_irqsave(&tape->spinlock, flags);
/* The request was a pipelined data transfer request */