diff options
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-iops.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index a15f1e1cb973..1983b353eb16 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
@@ -88,11 +88,15 @@ void SELECT_DRIVE (ide_drive_t *drive) | |||
88 | { | 88 | { |
89 | ide_hwif_t *hwif = drive->hwif; | 89 | ide_hwif_t *hwif = drive->hwif; |
90 | const struct ide_port_ops *port_ops = hwif->port_ops; | 90 | const struct ide_port_ops *port_ops = hwif->port_ops; |
91 | ide_task_t task; | ||
91 | 92 | ||
92 | if (port_ops && port_ops->selectproc) | 93 | if (port_ops && port_ops->selectproc) |
93 | port_ops->selectproc(drive); | 94 | port_ops->selectproc(drive); |
94 | 95 | ||
95 | hwif->OUTB(drive->select.all, hwif->io_ports.device_addr); | 96 | memset(&task, 0, sizeof(task)); |
97 | task.tf_flags = IDE_TFLAG_OUT_DEVICE; | ||
98 | |||
99 | drive->hwif->tf_load(drive, &task); | ||
96 | } | 100 | } |
97 | 101 | ||
98 | void SELECT_MASK(ide_drive_t *drive, int mask) | 102 | void SELECT_MASK(ide_drive_t *drive, int mask) |