summaryrefslogtreecommitdiff
path: root/drivers/scsi/libsas/sas_discover.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-01-13 01:57:35 (GMT)
committerJames Bottomley <JBottomley@Parallels.com>2012-02-29 21:33:02 (GMT)
commit354cf82980e2449e71fdaa3c6f170357ebd65467 (patch)
tree8300579ebb51e19e503437d5c1f5ce2fd5186f18 /drivers/scsi/libsas/sas_discover.c
parenta692b0eec5efae382dfa800e8b4b083f172921a7 (diff)
downloadlinux-fsl-qoriq-354cf82980e2449e71fdaa3c6f170357ebd65467.tar.xz
[SCSI] libsas: let libata recover links that fail to transmit initial sig-fis
libsas fails to discover all sata devices in the domain. If a device fails negotiation and does not transmit a signature fis the link needs recovery. libata already understands how to manage slow to come up links, so treat these conditions as ata device attach events for the purposes of creating an ata_port. This allows libata to manage retrying link bring up. Rediscovery is modified to be careful about checking changes in dev_type. It looks like libsas leaks old devices if the sas address changes, but that's a fix for another patch. Acked-by: Jack Wang <jack_wang@usish.com> 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_discover.c')
-rw-r--r--drivers/scsi/libsas/sas_discover.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c
index c1ac99d..8bcfcaa 100644
--- a/drivers/scsi/libsas/sas_discover.c
+++ b/drivers/scsi/libsas/sas_discover.c
@@ -48,6 +48,7 @@ void sas_init_dev(struct domain_device *dev)
case SATA_DEV:
case SATA_PM:
case SATA_PM_PORT:
+ case SATA_PENDING:
INIT_LIST_HEAD(&dev->sata_dev.children);
break;
default: