aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi/libsas/sas_discover.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-01-12 17:57:35 -0800
committerJames Bottomley <JBottomley@Parallels.com>2012-02-29 15:33:02 -0600
commit354cf82980e2449e71fdaa3c6f170357ebd65467 (patch)
tree8300579ebb51e19e503437d5c1f5ce2fd5186f18 /drivers/scsi/libsas/sas_discover.c
parenta692b0eec5efae382dfa800e8b4b083f172921a7 (diff)
[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 c1ac99d25f5..8bcfcaa7b2e 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: