aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/libata-core.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 43c329544c00..b81265d1e469 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2183,6 +2183,17 @@ int ata_bus_probe(struct ata_port *ap)
2183 if (ap->ops->cable_detect) 2183 if (ap->ops->cable_detect)
2184 ap->cbl = ap->ops->cable_detect(ap); 2184 ap->cbl = ap->ops->cable_detect(ap);
2185 2185
2186 /* We may have SATA bridge glue hiding here irrespective of the
2187 reported cable types and sensed types */
2188 ata_link_for_each_dev(dev, &ap->link) {
2189 if (!ata_dev_enabled(dev))
2190 continue;
2191 /* SATA drives indicate we have a bridge. We don't know which
2192 end of the link the bridge is which is a problem */
2193 if (ata_id_is_sata(dev->id))
2194 ap->cbl = ATA_CBL_SATA;
2195 }
2196
2186 /* After the identify sequence we can now set up the devices. We do 2197 /* After the identify sequence we can now set up the devices. We do
2187 this in the normal order so that the user doesn't get confused */ 2198 this in the normal order so that the user doesn't get confused */
2188 2199