diff options
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 4cc2bb13f1d6..28ac463dde1c 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -102,9 +102,6 @@ int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors) | |||
102 | if (blk_noretry_request(rq) && uptodate <= 0) | 102 | if (blk_noretry_request(rq) && uptodate <= 0) |
103 | nr_bytes = rq->hard_nr_sectors << 9; | 103 | nr_bytes = rq->hard_nr_sectors << 9; |
104 | 104 | ||
105 | if (blk_fs_request(rq) == 0 && uptodate <= 0 && rq->errors == 0) | ||
106 | rq->errors = -EIO; | ||
107 | |||
108 | if (uptodate <= 0) | 105 | if (uptodate <= 0) |
109 | error = uptodate ? uptodate : -EIO; | 106 | error = uptodate ? uptodate : -EIO; |
110 | 107 | ||
@@ -169,6 +166,8 @@ void ide_kill_rq(ide_drive_t *drive, struct request *rq) | |||
169 | } else { | 166 | } else { |
170 | if (media == ide_tape) | 167 | if (media == ide_tape) |
171 | rq->errors = IDE_DRV_ERROR_GENERAL; | 168 | rq->errors = IDE_DRV_ERROR_GENERAL; |
169 | else if (blk_fs_request(rq) == 0 && rq->errors == 0) | ||
170 | rq->errors = -EIO; | ||
172 | ide_end_request(drive, 0, 0); | 171 | ide_end_request(drive, 0, 0); |
173 | } | 172 | } |
174 | } | 173 | } |