diff options
author | Tejun Heo <htejun@gmail.com> | 2006-04-11 22:26:29 +0900 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-04-11 13:22:17 -0400 |
commit | ec573755fcd7975aae6b0d536dbcd74a6eed029c (patch) | |
tree | 58600b1d741ba2a8f5bfa214768469a5031d0b49 /drivers/scsi/libata-core.c | |
parent | 7dd29dd629bd5a4e6d8a164a9886da01f291ecf2 (diff) | |
download | lwn-ec573755fcd7975aae6b0d536dbcd74a6eed029c.tar.gz lwn-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.c | 12 |
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; } |