diff options
Diffstat (limited to 'drivers/ide/ide-taskfile.c')
-rw-r--r-- | drivers/ide/ide-taskfile.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index bc3d8aed9a8d..1f664ea57e58 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -99,7 +99,7 @@ int taskfile_lib_get_identify (ide_drive_t *drive, u8 *buf) | |||
99 | args.tf.command = WIN_IDENTIFY; | 99 | args.tf.command = WIN_IDENTIFY; |
100 | else | 100 | else |
101 | args.tf.command = WIN_PIDENTIFY; | 101 | args.tf.command = WIN_PIDENTIFY; |
102 | args.tf_flags = IDE_TFLAG_OUT_TF | IDE_TFLAG_OUT_DEVICE; | 102 | args.tf_flags = IDE_TFLAG_TF | IDE_TFLAG_DEVICE; |
103 | args.data_phase = TASKFILE_IN; | 103 | args.data_phase = TASKFILE_IN; |
104 | return ide_raw_taskfile(drive, &args, buf, 1); | 104 | return ide_raw_taskfile(drive, &args, buf, 1); |
105 | } | 105 | } |
@@ -618,9 +618,10 @@ int ide_taskfile_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) | |||
618 | 618 | ||
619 | args.data_phase = req_task->data_phase; | 619 | args.data_phase = req_task->data_phase; |
620 | 620 | ||
621 | args.tf_flags = IDE_TFLAG_IO_16BIT | IDE_TFLAG_OUT_DEVICE; | 621 | args.tf_flags = IDE_TFLAG_IO_16BIT | IDE_TFLAG_DEVICE | |
622 | IDE_TFLAG_IN_TF; | ||
622 | if (drive->addressing == 1) | 623 | if (drive->addressing == 1) |
623 | args.tf_flags |= IDE_TFLAG_LBA48; | 624 | args.tf_flags |= (IDE_TFLAG_LBA48 | IDE_TFLAG_IN_HOB); |
624 | 625 | ||
625 | if (req_task->out_flags.all) { | 626 | if (req_task->out_flags.all) { |
626 | args.tf_flags |= IDE_TFLAG_FLAGGED; | 627 | args.tf_flags |= IDE_TFLAG_FLAGGED; |
@@ -836,7 +837,7 @@ int ide_task_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) | |||
836 | memset(&task, 0, sizeof(task)); | 837 | memset(&task, 0, sizeof(task)); |
837 | memcpy(&task.tf_array[7], &args[1], 6); | 838 | memcpy(&task.tf_array[7], &args[1], 6); |
838 | task.tf.command = args[0]; | 839 | task.tf.command = args[0]; |
839 | task.tf_flags = IDE_TFLAG_OUT_TF | IDE_TFLAG_OUT_DEVICE; | 840 | task.tf_flags = IDE_TFLAG_TF | IDE_TFLAG_DEVICE; |
840 | 841 | ||
841 | err = ide_no_data_taskfile(drive, &task); | 842 | err = ide_no_data_taskfile(drive, &task); |
842 | 843 | ||