diff options
Diffstat (limited to 'drivers/ide/ide-atapi.c')
-rw-r--r-- | drivers/ide/ide-atapi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c index 5d57af29c4c8..5504a84e9bd6 100644 --- a/drivers/ide/ide-atapi.c +++ b/drivers/ide/ide-atapi.c | |||
@@ -405,8 +405,13 @@ static ide_startstop_t ide_pc_intr(ide_drive_t *drive) | |||
405 | if (blk_special_request(rq)) { | 405 | if (blk_special_request(rq)) { |
406 | rq->errors = 0; | 406 | rq->errors = 0; |
407 | ide_complete_rq(drive, 0); | 407 | ide_complete_rq(drive, 0); |
408 | } else | 408 | } else { |
409 | if (blk_fs_request(rq) == 0 && uptodate <= 0) { | ||
410 | if (rq->errors == 0) | ||
411 | rq->errors = -EIO; | ||
412 | } | ||
409 | ide_end_request(drive, uptodate, 0); | 413 | ide_end_request(drive, uptodate, 0); |
414 | } | ||
410 | 415 | ||
411 | return ide_stopped; | 416 | return ide_stopped; |
412 | } | 417 | } |