|
@@ -128,7 +128,8 @@ static int ide_cmd_ioctl(ide_drive_t *drive, unsigned long arg)
|
|
|
rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, __GFP_RECLAIM);
|
|
|
scsi_req_init(rq);
|
|
|
ide_req(rq)->type = ATA_PRIV_TASKFILE;
|
|
|
- err = blk_execute_rq(drive->queue, NULL, rq, 0);
|
|
|
+ blk_execute_rq(drive->queue, NULL, rq, 0);
|
|
|
+ err = rq->errors ? -EIO : 0;
|
|
|
blk_put_request(rq);
|
|
|
|
|
|
return err;
|
|
@@ -227,8 +228,8 @@ static int generic_drive_reset(ide_drive_t *drive)
|
|
|
ide_req(rq)->type = ATA_PRIV_MISC;
|
|
|
scsi_req(rq)->cmd_len = 1;
|
|
|
scsi_req(rq)->cmd[0] = REQ_DRIVE_RESET;
|
|
|
- if (blk_execute_rq(drive->queue, NULL, rq, 1))
|
|
|
- ret = rq->errors;
|
|
|
+ blk_execute_rq(drive->queue, NULL, rq, 1);
|
|
|
+ ret = rq->errors;
|
|
|
blk_put_request(rq);
|
|
|
return ret;
|
|
|
}
|