diff options
author | Dan Williams <dan.j.williams@intel.com> | 2012-02-08 23:20:41 -0800 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-29 15:41:51 -0600 |
commit | 77c309f3cdf9e217032dfe330f5881d352bb0436 (patch) | |
tree | 51e9bbbe8f0159d4235971c481c6599cd75abd14 | |
parent | 899fcf40f3177697ccfb029d0484cb8ec09a51ca (diff) | |
download | kernel-common-77c309f3cdf9e217032dfe330f5881d352bb0436.tar.gz kernel-common-77c309f3cdf9e217032dfe330f5881d352bb0436.tar.bz2 kernel-common-77c309f3cdf9e217032dfe330f5881d352bb0436.zip |
[SCSI] libsas: fixup target_port_protocols for expanders that don't report sata
If discovery returns 0 for target_port_protocols but shows an attached
sata device, just report SAS_PROTOCOL_SATA in the identify data so
userspace can reliably search for sata devices in the domain.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r-- | drivers/scsi/libsas/sas_expander.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c index 14e3244c1b20..05acd9e35fc4 100644 --- a/drivers/scsi/libsas/sas_expander.c +++ b/drivers/scsi/libsas/sas_expander.c @@ -251,6 +251,8 @@ static void sas_set_ex_phy(struct domain_device *dev, int phy_id, void *rsp) phy->phy->identify.device_type = dr->attached_dev_type; phy->phy->identify.initiator_port_protocols = phy->attached_iproto; phy->phy->identify.target_port_protocols = phy->attached_tproto; + if (!phy->attached_tproto && dr->attached_sata_dev) + phy->phy->identify.target_port_protocols = SAS_PROTOCOL_SATA; phy->phy->identify.phy_identifier = phy_id; phy->phy->minimum_linkrate_hw = dr->hmin_linkrate; phy->phy->maximum_linkrate_hw = dr->hmax_linkrate; |