aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libsas/sas_expander.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-01-18 23:14:01 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-02-29 16:34:19 -0500
commit92625f9bff3853951cc75f5bc084ee67c1317d2f (patch)
tree9d5d2c89b99cdf73ec3c28703d0d5514e37ec73c /drivers/scsi/libsas/sas_expander.c
parentc666aae6919114d6cff789d79f80cfa85f3a7339 (diff)
[SCSI] libsas: restore scan order
ata devices are always scanned after ssp. Prior to the ata error handling reworks libsas would tend to scan devices in ascending expander phy order. Restore this ordering by deferring ssp discovery to a DISCE_PROBE event, and keep the probe order consistent with the discovery order, not the placement of sata devices. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/libsas/sas_expander.c')
-rw-r--r--drivers/scsi/libsas/sas_expander.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c
index d63f0fbcd103..14e3244c1b20 100644
--- a/drivers/scsi/libsas/sas_expander.c
+++ b/drivers/scsi/libsas/sas_expander.c
@@ -806,9 +806,7 @@ static struct domain_device *sas_ex_discover_end_dev(
806 child->rphy = rphy; 806 child->rphy = rphy;
807 sas_fill_in_rphy(child, rphy); 807 sas_fill_in_rphy(child, rphy);
808 808
809 spin_lock_irq(&parent->port->dev_list_lock); 809 list_add_tail(&child->disco_list_node, &parent->port->disco_list);
810 list_add_tail(&child->dev_list_node, &parent->port->dev_list);
811 spin_unlock_irq(&parent->port->dev_list_lock);
812 810
813 res = sas_discover_end_dev(child); 811 res = sas_discover_end_dev(child);
814 if (res) { 812 if (res) {