aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ide/ide-io.c25
-rw-r--r--drivers/ide/ide-lib.c3
2 files changed, 2 insertions, 26 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(&ltask, 0, sizeof(ltask)); 863 memset(&ltask, 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(&ltask.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)) {
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c
index 6dbf2af0d215..3bae2c46924f 100644
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -458,8 +458,7 @@ static void ide_dump_opcode(ide_drive_t *drive)
458 spin_unlock(&ide_lock); 458 spin_unlock(&ide_lock);
459 if (!rq) 459 if (!rq)
460 return; 460 return;
461 if (rq->cmd_type == REQ_TYPE_ATA_CMD || 461 if (rq->cmd_type == REQ_TYPE_ATA_CMD) {
462 rq->cmd_type == REQ_TYPE_ATA_TASK) {
463 char *args = rq->buffer; 462 char *args = rq->buffer;
464 if (args) { 463 if (args) {
465 opcode = args[0]; 464 opcode = args[0];