summaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-taskfile.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 12:46:43 +0100
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 12:46:43 +0100
commit6902a5331256e1b9f4cef95a1e3622252113b260 (patch)
treef33ef1a732425e1862fcf0bbd0e909f82d247a8a /drivers/ide/ide-taskfile.c
parentide: sanitize ide_end_rq() (diff)
downloadlinux-6902a5331256e1b9f4cef95a1e3622252113b260.tar.xz
linux-6902a5331256e1b9f4cef95a1e3622252113b260.zip
ide: pass error value to ide_complete_rq()
Set rq->errors at ide_complete_rq() call sites and then pass error value to ide_complete_rq(). [ Some rq->errors assignments look really wrong but this patch leaves them alone to not introduce too many changes at once. ] There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-taskfile.c')
-rw-r--r--drivers/ide/ide-taskfile.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c
index f99a6aaad9eb..e9d008ef3f33 100644
--- a/drivers/ide/ide-taskfile.c
+++ b/drivers/ide/ide-taskfile.c
@@ -289,10 +289,12 @@ static void ide_error_cmd(ide_drive_t *drive, struct ide_cmd *cmd)
void ide_finish_cmd(ide_drive_t *drive, struct ide_cmd *cmd, u8 stat)
{
+ struct request *rq = drive->hwif->rq;
u8 err = ide_read_error(drive);
ide_complete_cmd(drive, cmd, stat, err);
- ide_complete_rq(drive, err);
+ rq->errors = err;
+ ide_complete_rq(drive, err ? -EIO : 0);
}
/*