[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>
This commit is contained in:

committed by
James Bottomley

parent
a692b0eec5
commit
354cf82980
@@ -89,8 +89,7 @@ enum sas_oob_mode {
|
||||
SAS_OOB_MODE
|
||||
};
|
||||
|
||||
/* See sas_discover.c if you plan on changing these.
|
||||
*/
|
||||
/* See sas_discover.c if you plan on changing these */
|
||||
enum sas_dev_type {
|
||||
NO_DEVICE = 0, /* protocol */
|
||||
SAS_END_DEV = 1, /* protocol */
|
||||
@@ -100,6 +99,7 @@ enum sas_dev_type {
|
||||
SATA_DEV = 5,
|
||||
SATA_PM = 7,
|
||||
SATA_PM_PORT= 8,
|
||||
SATA_PENDING = 9,
|
||||
};
|
||||
|
||||
enum sas_protocol {
|
||||
|
Reference in New Issue
Block a user