diff options
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index ecfafcdafea4..8435b44a700b 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -89,7 +89,7 @@ int __ide_end_request(ide_drive_t *drive, struct request *rq, int uptodate, | |||
89 | 89 | ||
90 | blkdev_dequeue_request(rq); | 90 | blkdev_dequeue_request(rq); |
91 | HWGROUP(drive)->rq = NULL; | 91 | HWGROUP(drive)->rq = NULL; |
92 | end_that_request_last(rq); | 92 | end_that_request_last(rq, uptodate); |
93 | ret = 0; | 93 | ret = 0; |
94 | } | 94 | } |
95 | return ret; | 95 | return ret; |
@@ -247,7 +247,7 @@ static void ide_complete_pm_request (ide_drive_t *drive, struct request *rq) | |||
247 | } | 247 | } |
248 | blkdev_dequeue_request(rq); | 248 | blkdev_dequeue_request(rq); |
249 | HWGROUP(drive)->rq = NULL; | 249 | HWGROUP(drive)->rq = NULL; |
250 | end_that_request_last(rq); | 250 | end_that_request_last(rq, 1); |
251 | spin_unlock_irqrestore(&ide_lock, flags); | 251 | spin_unlock_irqrestore(&ide_lock, flags); |
252 | } | 252 | } |
253 | 253 | ||
@@ -379,7 +379,7 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) | |||
379 | blkdev_dequeue_request(rq); | 379 | blkdev_dequeue_request(rq); |
380 | HWGROUP(drive)->rq = NULL; | 380 | HWGROUP(drive)->rq = NULL; |
381 | rq->errors = err; | 381 | rq->errors = err; |
382 | end_that_request_last(rq); | 382 | end_that_request_last(rq, !rq->errors); |
383 | spin_unlock_irqrestore(&ide_lock, flags); | 383 | spin_unlock_irqrestore(&ide_lock, flags); |
384 | } | 384 | } |
385 | 385 | ||