aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-iops.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-iops.c')
-rw-r--r--drivers/ide/ide-iops.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index 26b58d15c4e6..1a22c31ce7ac 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -1081,8 +1081,9 @@ static ide_startstop_t do_reset1 (ide_drive_t *drive, int do_not_try_atapi)
1081 struct ide_io_ports *io_ports = &hwif->io_ports; 1081 struct ide_io_ports *io_ports = &hwif->io_ports;
1082 const struct ide_tp_ops *tp_ops = hwif->tp_ops; 1082 const struct ide_tp_ops *tp_ops = hwif->tp_ops;
1083 const struct ide_port_ops *port_ops; 1083 const struct ide_port_ops *port_ops;
1084 ide_drive_t *tdrive;
1084 unsigned long flags, timeout; 1085 unsigned long flags, timeout;
1085 unsigned int unit; 1086 int i;
1086 DEFINE_WAIT(wait); 1087 DEFINE_WAIT(wait);
1087 1088
1088 spin_lock_irqsave(&hwif->lock, flags); 1089 spin_lock_irqsave(&hwif->lock, flags);
@@ -1110,9 +1111,7 @@ static ide_startstop_t do_reset1 (ide_drive_t *drive, int do_not_try_atapi)
1110 1111
1111 prepare_to_wait(&ide_park_wq, &wait, TASK_UNINTERRUPTIBLE); 1112 prepare_to_wait(&ide_park_wq, &wait, TASK_UNINTERRUPTIBLE);
1112 timeout = jiffies; 1113 timeout = jiffies;
1113 for (unit = 0; unit < MAX_DRIVES; unit++) { 1114 ide_port_for_each_dev(i, tdrive, hwif) {
1114 ide_drive_t *tdrive = hwif->devices[unit];
1115
1116 if (tdrive->dev_flags & IDE_DFLAG_PRESENT && 1115 if (tdrive->dev_flags & IDE_DFLAG_PRESENT &&
1117 tdrive->dev_flags & IDE_DFLAG_PARKED && 1116 tdrive->dev_flags & IDE_DFLAG_PARKED &&
1118 time_after(tdrive->sleep, timeout)) 1117 time_after(tdrive->sleep, timeout))
@@ -1133,8 +1132,8 @@ static ide_startstop_t do_reset1 (ide_drive_t *drive, int do_not_try_atapi)
1133 * First, reset any device state data we were maintaining 1132 * First, reset any device state data we were maintaining
1134 * for any of the drives on this interface. 1133 * for any of the drives on this interface.
1135 */ 1134 */
1136 for (unit = 0; unit < MAX_DRIVES; ++unit) 1135 ide_port_for_each_dev(i, tdrive, hwif)
1137 pre_reset(hwif->devices[unit]); 1136 pre_reset(tdrive);
1138 1137
1139 if (io_ports->ctl_addr == 0) { 1138 if (io_ports->ctl_addr == 0) {
1140 spin_unlock_irqrestore(&hwif->lock, flags); 1139 spin_unlock_irqrestore(&hwif->lock, flags);