aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/ide-iops.c6
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
98void SELECT_MASK(ide_drive_t *drive, int mask) 102void SELECT_MASK(ide_drive_t *drive, int mask)