aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/libata-core.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 42d43b55fb8f..c17df3f22fd1 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -1344,32 +1344,30 @@ static int ata_bus_probe(struct ata_port *ap)
1344 1344
1345 ata_port_probe(ap); 1345 ata_port_probe(ap);
1346 1346
1347 /* reset */ 1347 /* reset and determine device classes */
1348 if (ap->ops->probe_reset) { 1348 for (i = 0; i < ATA_MAX_DEVICES; i++)
1349 for (i = 0; i < ATA_MAX_DEVICES; i++) 1349 classes[i] = ATA_DEV_UNKNOWN;
1350 classes[i] = ATA_DEV_UNKNOWN;
1351 1350
1351 if (ap->ops->probe_reset) {
1352 rc = ap->ops->probe_reset(ap, classes); 1352 rc = ap->ops->probe_reset(ap, classes);
1353 if (rc) { 1353 if (rc) {
1354 printk("ata%u: reset failed (errno=%d)\n", ap->id, rc); 1354 printk("ata%u: reset failed (errno=%d)\n", ap->id, rc);
1355 return rc; 1355 return rc;
1356 } 1356 }
1357
1358 for (i = 0; i < ATA_MAX_DEVICES; i++)
1359 if (classes[i] == ATA_DEV_UNKNOWN)
1360 classes[i] = ATA_DEV_NONE;
1361 } else { 1357 } else {
1362 ap->ops->phy_reset(ap); 1358 ap->ops->phy_reset(ap);
1363 1359
1364 for (i = 0; i < ATA_MAX_DEVICES; i++) { 1360 if (!(ap->flags & ATA_FLAG_PORT_DISABLED))
1365 if (!(ap->flags & ATA_FLAG_PORT_DISABLED)) 1361 for (i = 0; i < ATA_MAX_DEVICES; i++)
1366 classes[i] = ap->device[i].class; 1362 classes[i] = ap->device[i].class;
1367 else 1363
1368 ap->device[i].class = ATA_DEV_UNKNOWN;
1369 }
1370 ata_port_probe(ap); 1364 ata_port_probe(ap);
1371 } 1365 }
1372 1366
1367 for (i = 0; i < ATA_MAX_DEVICES; i++)
1368 if (classes[i] == ATA_DEV_UNKNOWN)
1369 classes[i] = ATA_DEV_NONE;
1370
1373 /* read IDENTIFY page and configure devices */ 1371 /* read IDENTIFY page and configure devices */
1374 for (i = 0; i < ATA_MAX_DEVICES; i++) { 1372 for (i = 0; i < ATA_MAX_DEVICES; i++) {
1375 struct ata_device *dev = &ap->device[i]; 1373 struct ata_device *dev = &ap->device[i];