diff options
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 73e021267f3b..d36df77c7519 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -332,22 +332,6 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) | |||
332 | args[1] = err; | 332 | args[1] = err; |
333 | args[2] = hwif->INB(IDE_NSECTOR_REG); | 333 | args[2] = hwif->INB(IDE_NSECTOR_REG); |
334 | } | 334 | } |
335 | } else if (rq->cmd_type == REQ_TYPE_ATA_TASK) { | ||
336 | u8 *args = (u8 *) rq->buffer; | ||
337 | if (rq->errors == 0) | ||
338 | rq->errors = !OK_STAT(stat,READY_STAT,BAD_STAT); | ||
339 | |||
340 | if (args) { | ||
341 | args[0] = stat; | ||
342 | args[1] = err; | ||
343 | /* be sure we're looking at the low order bits */ | ||
344 | hwif->OUTB(drive->ctl & ~0x80, IDE_CONTROL_REG); | ||
345 | args[2] = hwif->INB(IDE_NSECTOR_REG); | ||
346 | args[3] = hwif->INB(IDE_SECTOR_REG); | ||
347 | args[4] = hwif->INB(IDE_LCYL_REG); | ||
348 | args[5] = hwif->INB(IDE_HCYL_REG); | ||
349 | args[6] = hwif->INB(IDE_SELECT_REG); | ||
350 | } | ||
351 | } else if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE) { | 335 | } else if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE) { |
352 | ide_task_t *args = (ide_task_t *) rq->special; | 336 | ide_task_t *args = (ide_task_t *) rq->special; |
353 | if (rq->errors == 0) | 337 | if (rq->errors == 0) |
@@ -877,13 +861,7 @@ static ide_startstop_t execute_drive_cmd (ide_drive_t *drive, | |||
877 | goto done; | 861 | goto done; |
878 | 862 | ||
879 | memset(<ask, 0, sizeof(ltask)); | 863 | memset(<ask, 0, sizeof(ltask)); |
880 | if (rq->cmd_type == REQ_TYPE_ATA_TASK) { | 864 | if (rq->cmd_type == REQ_TYPE_ATA_CMD) { |
881 | #ifdef DEBUG | ||
882 | printk("%s: DRIVE_TASK_CMD\n", drive->name); | ||
883 | #endif | ||
884 | memcpy(<ask.tf_array[7], &args[1], 6); | ||
885 | ltask.tf_flags = IDE_TFLAG_OUT_TF | IDE_TFLAG_OUT_DEVICE; | ||
886 | } else { /* rq->cmd_type == REQ_TYPE_ATA_CMD */ | ||
887 | #ifdef DEBUG | 865 | #ifdef DEBUG |
888 | printk("%s: DRIVE_CMD\n", drive->name); | 866 | printk("%s: DRIVE_CMD\n", drive->name); |
889 | #endif | 867 | #endif |
@@ -1011,7 +989,6 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) | |||
1011 | ide_config_drive_speed(drive, drive->desired_speed); | 989 | ide_config_drive_speed(drive, drive->desired_speed); |
1012 | 990 | ||
1013 | if (rq->cmd_type == REQ_TYPE_ATA_CMD || | 991 | if (rq->cmd_type == REQ_TYPE_ATA_CMD || |
1014 | rq->cmd_type == REQ_TYPE_ATA_TASK || | ||
1015 | rq->cmd_type == REQ_TYPE_ATA_TASKFILE) | 992 | rq->cmd_type == REQ_TYPE_ATA_TASKFILE) |
1016 | return execute_drive_cmd(drive, rq); | 993 | return execute_drive_cmd(drive, rq); |
1017 | else if (blk_pm_request(rq)) { | 994 | else if (blk_pm_request(rq)) { |