summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-core.c
diff options
context:
space:
mode:
authorTejun Heo2006-04-11 15:26:29 +0200
committerJeff Garzik2006-04-11 19:22:17 +0200
commitec573755fcd7975aae6b0d536dbcd74a6eed029c (patch)
tree58600b1d741ba2a8f5bfa214768469a5031d0b49 /drivers/scsi/libata-core.c
parent[PATCH] sata_sil24: use ata_wait_register() (diff)
downloadkernel-qcow2-linux-ec573755fcd7975aae6b0d536dbcd74a6eed029c.tar.gz
kernel-qcow2-linux-ec573755fcd7975aae6b0d536dbcd74a6eed029c.tar.xz
kernel-qcow2-linux-ec573755fcd7975aae6b0d536dbcd74a6eed029c.zip
[PATCH] libata: disable failed devices only once in ata_bus_probe()
Devices which consumed all their changes used to be disabled every iteration. This causes unnecessary noise in the console output. Disable once and leave alone. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata-core.c')
-rw-r--r--drivers/scsi/libata-core.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 0075fe7404d5..9194e4a6a55a 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -1411,12 +1411,9 @@ static int ata_bus_probe(struct ata_port *ap)
/* read IDENTIFY page and configure devices */
for (i = 0; i < ATA_MAX_DEVICES; i++) {
dev = &ap->device[i];
- dev->class = classes[i];
- if (!tries[i]) {
- ata_down_xfermask_limit(ap, dev, 1);
- ata_dev_disable(ap, dev);
- }
+ if (tries[i])
+ dev->class = classes[i];
if (!ata_dev_enabled(dev))
continue;
@@ -1477,6 +1474,11 @@ static int ata_bus_probe(struct ata_port *ap)
tries[dev->devno] = 0;
}
+ if (!tries[dev->devno]) {
+ ata_down_xfermask_limit(ap, dev, 1);
+ ata_dev_disable(ap, dev);
+ }
+
goto retry;
}